You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Keith Godwin Chapman (JIRA)" <ji...@apache.org> on 2008/04/07 07:22:24 UTC
[jira] Resolved: (AXIS2-3704) SOAP Action is not set by service
Client when its invoked via a WSDL
[ https://issues.apache.org/jira/browse/AXIS2-3704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Godwin Chapman resolved AXIS2-3704.
-----------------------------------------
Resolution: Fixed
Fixed in revision 645377. Fixed in both trunk and 1.4 branch.
> 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org