Estoy tratando de crear un servicio que un tercero debería consumir.
El consumidor es compatible con SOAP 1.1, por lo que estoy usando basicHttpBinding para el servidor. Cuando se realiza la solicitud real, algo parece ir mal con los tipos de contenido que espera el servidor. Usando basicHttpBinding no entiendo por qué el servidor aún espera 'application/soap + xml' que, según mi conocimiento, solo es requerido por SOAP 1.2.
He usado wireshark para averiguar exactamente de qué se estaban comunicando esos dos. Ver tcp stream y configurar a continuación.
Cualquier ayuda es apreciada.
WCF and Soap 1.1
tercera aplicación partido solicitud
de POST/HTTP/1.1
SOAPAction: http://tempuri.org/ITestService/Hello
Content-Type: text/xml; charset = UTF-8
Anfitrión: shdesktop: 8000
Content-Length: 297
esperar: 100-continue
conexion: Cerrar
respuesta WCF servidor
HTTP/1.1 415 No se puede procesar el mensaje porque el tipo de contenido 'text/xml; charset = utf-8 'no era el tipo esperado ' application/soap + xml; charset = utf-8 '.
Content-Length: 0
Servidor: Microsoft-HTTPAPI/2.0
Fecha: mar, 09 de Feb 2010 14:03:19 GMT
Connection: close
Configuración del servicio
<system.serviceModel>
<services>
<service behaviorConfiguration="behTestService" name="ConsoleApplication1.TestService">
<endpoint address="" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint address="TestService" binding="basicHttpBinding"
contract="ConsoleApplication1.ITestService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="behTestService">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
oh, SOAP 1.1 usaría 'application/soap + xml'? Voy a probar el webHttpBinding mañana, ¡gracias! Sé con certeza que funciona cuando creo un servicio simple de asmx, si hace alguna diferencia. –
@Silas: los servicios web ASP.NET "antiguos" (ASMX) ** y ** WCF basicHttpBinding utilizan SOAP 1.1, por lo que debería estar bien, realmente. Necesita verificar si su cliente le está enviando una solicitud SOAP, o simplemente tratar de publicar un XML en su URL –
Estaba llamando a http: // en su lugar, necesitaba llamar a http: // /TestService. Estúpido error por mi parte. ¡Gracias por toda la ayuda, de todos modos! –