el enlace personalizado para admitir Soap11WSAddressing10 provoca un error de ActionMismatch

Tengo un wsdl definido para admitir la interoperabilidad donde se requiere soporte de jabón 1.1 con wsaddressing. Como resultado, configuré mi servicio, así que configuré mi servicio wcf con un enlace personalizado de la siguiente manera.

 <customBinding>
  <binding name="CustomWsHttpSoap11" closeTimeout="00:01:00"
    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00">
    <textMessageEncoding messageVersion="Soap11WSAddressing10"/>
    <httpTransport maxReceivedMessageSize="2147483647" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                   useDefaultWebProxy="true">
    </httpTransport>
  </binding>
</customBinding>

<services>
      <service behaviorConfiguration="TEST.BattleMountain.TestService"
        name="TEST.BattleMountain.TestService">
        <endpoint address="" behaviorConfiguration="TestMethod"
          binding="customBinding" bindingConfiguration="CustomWsHttpSoap11"
          name="TestMethod-v2-0_pttBinding" bindingNamespace="urn:test:services:201005"
          contract="ITestMethodV20_ptt" />
</service>

Cuando creo una solicitud de prueba usando el limpiador SOA, obtengo la falla del jabón

La acción SOAP especificada en el mensaje, '', no coincide con la acción HTTP SOAP, 'urn:test:services:201005:TestMethod-v2-0'.

No estoy seguro de por qué sería esto. Solicite de la siguiente manera

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">urn:test:services:201005:TestMethod-v2-0</Action>
  </s:Header>
  <s:Body>
    <DistributionEnvelope xmlns="urn:test:ns:201005" />
  </s:Body>
</s:Envelope>

preguntado el 21 de mayo de 12 a las 12:05

1 Respuestas

la solicitud que publicaste no es la solicitud real. no hay acción de jabón que en realidad se envíe (use fiddler para ver). entonces el cliente (¿limpiador de jabón?) realmente no envía una acción. ver aquí para más detalles.

contestado el 21 de mayo de 12 a las 12:05

Mirando el artículo, sugiere que el limpiador SOA del cliente está mintiendo cuando me dice que está pasando los encabezados de jabón. ¿Debería olvidarme de usar SOA Cleaner y generar mi propio cliente proxy? - Sheff

No estoy familiarizado con el limpiador SOA. Posiblemente hay una configuración que debe agregar allí. Puedes preguntarles al respecto. Por ahora intente con su propio cliente - Yaron Naveh

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.