J'essaie de me connecter à un service Web SOAP tiers. Il semble que le service peut fonctionner lorsque l'en-tête HTTP SOAPAction est une chaîne vide (""). Ceci est l'extrait du fichier WSDL:Problème Axis2 lors de la définition de l'en-tête HTTP SOAPAction
<wsdl:binding name="detailsRequestMessage" type="tns:UssdPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="details">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
Où vous voyez le soapAction = ""
J'ai réalisé un stubusing la Axis2 (1,5) wsdl2java.
J'étais espérant pour obtenir ce qui suit (la sortie réussie lors de l'exécution avec SoapUI):
POST /details HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.1
Host: some.host
Content-Length: 323
Mais à la place je reçois:
POST /details HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://some.url/wsussd/ussdtypes/UssdPortType/detailsRequest"
User-Agent: Axis2
Host: some.host
Content-Length: 300
Est-ce que quelqu'un a une idée quel est le problème ou comment puis-je définir le soapAction dans le programme.
Merci, Ronen
J'ai essayé sans succès. la chose qui l'a fait était de définir les propriétés de l'option. Merci – rperez