[ 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to