SOAP Action is not set by service Client when its invoked via a WSDL
--------------------------------------------------------------------
Key: AXIS2-3704
URL: https://issues.apache.org/jira/browse/AXIS2-3704
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Reporter: Keith Godwin Chapman
Priority: Critical
Fix For: 1.4
I was trying accessing an external webservice using service client as follows,
ServiceClient serviceClient = new ServiceClient(null, new
URL("http://www.webservicex.net/CurrencyConvertor.asmx?wsdl"), new
QName("http://www.webserviceX.NET/","CurrencyConvertor"),
"CurrencyConvertorSoap");
StAXOMBuilder stAXOMBuilder = new StAXOMBuilder(new
ByteArrayInputStream(
"<ConversionRate><FromCurrency>USD</FromCurrency><ToCurrency>LKR</ToCurrency></ConversionRate>".getBytes()));
OMElement omElement = serviceClient.sendReceive(
new QName("http://www.webserviceX.NET/", "ConversionRate"),
stAXOMBuilder.getDocumentElement());
System.out.println(omElement.toString());
But this call was failing with the exception
"System.Web.Services.Protocols.SoapException: Server did not recognize the
value of HTTP Header SOAPAction: ."
The request sent by the client had the header SOAPAction: "" whereas the WSDL
had <soap:operation soapAction="http://www.webserviceX.NET/ConversionRate"
style="document"/>
debugging through I noticed the following lines in WSDL11ToAxisServiceBuilder
(Line 2340)
if (isServerSide) {
axisBindingOperation.getAxisOperation().setSoapAction(soapActionURI);
}
else {
axisBindingOperation.getAxisOperation().setOutputAction(soapActionURI);
}
and CommonsHTTPTransportSender has the following in line 200
soapActionString = messageContext.getAxisOperation()
.getSoapAction();
Now this looks like a bug to me. Does anybody have a clue as to why we dont set
the soapAction on the axisoperation when the axisService is on the client side?
Thanks,
Keith.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]