Webservice gibt falsche content-type-Antwort-header

Ich versuche die Verwendung von third-party-web-service (php-basiert) in asp.net c# - Anwendung, und nicht mit Dienst-Konfiguration.Schon versucht add service/web-Referenz - alle den gleichen Fehler :

Den content-Typ "text/html" der Antwortnachricht stimmt nicht überein die
Inhaltstyp der Bindung (text/xml; charset=utf-8). Wenn Sie mit einem
benutzerdefinierte encoder, werden Sie sicher, dass die IsContentTypeSupported-Methode ist
richtig umgesetzt. Die ersten 402 bytes der Antwort waren:
'<?xml version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body>;<...

[Antwort wurde manuell bearbeitet, um korrekt angezeigt > < chars, es ist vollkommen gültig sonst]

Mir scheint es wie eine perfekt gültige Antwort, und ich habe versucht, zu schauen, was Fiedler schreibt in der Antwort-Header -
Content-Type: text/html, was ist wahrscheinlich die Ursache von Problem - webservice verschickt falsche content-type (text/html statt text/xml) , aber, wie zu konfigurieren, meinen Mandanten zu ignorieren/überschreiben empfangenen content-Typ ? Googeln bringt mir nichts, also bitte, wenn jemand helfen könnte - wo problem ist? Verbindlich\endpoint-Konfiguration eine Standard-basicHttpBinding/Endpunkt die
generiert von VS2010, wenn Sie mit Add Service Reference option, nichts wurde verändert.
Vielen Dank im Voraus.

[app.config]

<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup  name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0,      Culture=neutral, PublicKeyToken=b77a5c561934e089">
  <section name="Collection.ServicePlayground.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SmsServiceSoap1" closeTimeout="00:01:00" openTimeout="00:01:00"
    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
    useDefaultWebProxy="true">
    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    <security mode="None">
    transport clientCredentialType="None" proxyCredentialType="None"
    realm="" />
    <message clientCredentialType="UserName" algorithmSuite="Default" />
    </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://ws1.streamsms.ru/SmsService.php" binding="basicHttpBinding"
    bindingConfiguration="SmsServiceSoap1" contract="SmsService.SmsServiceSoap"
    name="SmsServiceSoap2" />
</client>
</system.serviceModel>
<applicationSettings>
<Collection.ServicePlayground.Properties.Settings>
  <setting name="Collection_ServicePlayground_WSStreamProvider_SmsService"   serializeAs="String">
    <value>http://ws1.streamsms.ru/SmsService.php</value>
  </setting>
 </Collection.ServicePlayground.Properties.Settings>
 </applicationSettings>
 </configuration>
  • Sind Sie sicher, dass der Dienst "basicHttpBinding"? Können Sie Zugriff auf die wsdl? Klingt wie eine verbindliche Missverhältnis zwischen client und service.
  • Ich kann auf die WSDL-aber es gibt mir nichts neues, über das binden :(. Es ist definitiv bindend problem - custom ws test-Tools (soapUI) funktioniert perfekt, mit service, und das Problem ist, dass der response-header vom Dienst enthält ContentType:text/html, die ist einfach nur falsch - response-content ist durchaus gültig soap/xml. Ich gerade nicht, wie zu konfigurieren, meine Bindung/Endpunkt nicht nehmen, die header ernst 🙂
  • BTW, vielleicht kann es etwas Licht, web-service ist php-basiert, und "basicHttpBinding" wurde erstellt von vs2010-option "Add Service Reference".
  • Können Sie posten Sie Ihre .config-Datei?
  • Sicher, aktualisierte Frage.
InformationsquelleAutor tbd | 2012-06-21
Schreibe einen Kommentar