[ 
https://issues.apache.org/jira/browse/AXIS2-4115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexis Humphreys reopened AXIS2-4115:
-------------------------------------


I think there's something that Axis2 does not do correctly, so I am reopening 
the issue.

Even though the request has a problem (SOAP action has embedded double quotes), 
the error message clearly shows that Axis2 strips the quotes (why, I am not 
sure). However, for some reason, Axis2 makes the wsa:Action the same as the 
SOAP Action, but does not strip the quotes. Axis2 should be consistent there. 
Either it should give error message about the SOAP action having embedded 
quotes (I think it should do that -- better to be fail-fast), or it should 
strip the quotes (like it does now) and be consistent and make the wsa:Action 
without the quotes also.

> Incorrect wsaAction has embedded double quotes in header
> --------------------------------------------------------
>
>                 Key: AXIS2-4115
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4115
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: Addressing
>    Affects Versions: 1.4.1
>         Environment: Windows XP Pro SP3
> NetBeans 6.5 RC2
>            Reporter: Alexis Humphreys
>            Priority: Blocker
>
> I am using NetBeans (6.5 RC2 but earlier versions give same problem) and 
> invoking web service from a BPEL process. I am using the included Stock Quote 
> example service included as part of Axis2 for my testing. When invoking the 
> service, I get an exception:
> [WARN] triggerActionMismatchFault: messageContext: [MessageContext: 
> logID=urn:uuid:518E4F32694CC6E6CA1225402791676] soapAction=urn:getPrice 
> wsaAction="urn:getPrice"
> [ERROR] A header representing a Message Addressing Property is not valid and 
> the message cannot be processed
> org.apache.axis2.AxisFault: A header representing a Message Addressing 
> Property is not valid and the message cannot be processed
>       at 
> org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(AddressingFaultsHelper.java:373)
>       at 
> org.apache.axis2.addressing.AddressingFaultsHelper.triggerActionMismatchFault(AddressingFaultsHelper.java:222)
>       at 
> org.apache.axis2.handlers.addressing.AddressingInHandler.extractActionInformation(AddressingInHandler.java:533)
>       at 
> org.apache.axis2.handlers.addressing.AddressingInHandler.extractAddressingInformation(AddressingInHandler.java:239)
>       at 
> org.apache.axis2.handlers.addressing.AddressingInHandler.invoke(AddressingInHandler.java:152)
>       at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
>       at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>       at 
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>        etc.
> The relevant portion of the WSDL is:
>     <wsdl:portType name="StockQuoteServicePortType">
>         <wsdl:operation name="getPrice">
>             <wsdl:input message="axis2:getPriceRequest" 
> wsaw:Action="urn:getPrice"/>
>             <wsdl:output message="axis2:getPriceResponse" 
> wsaw:Action="urn:getPriceResponse"/>
>         </wsdl:operation>
>         <wsdl:operation name="update">
>             <wsdl:input message="axis2:updateRequest" 
> wsaw:Action="urn:update"/>
>         </wsdl:operation>
>     </wsdl:portType>
>     <wsdl:binding name="StockQuoteServiceSoap11Binding" 
> type="axis2:StockQuoteServicePortType">
>         <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
> style="document"/>        
>         <wsdl:operation name="getPrice">
>             <soap:operation soapAction="urn:getPrice" style="document"/>
>             <wsdl:input>
>                 <soap:body use="literal"/>
>             </wsdl:input>
>             <wsdl:output>
>                 <soap:body use="literal"/>
>             </wsdl:output>
>         </wsdl:operation>
>         <wsdl:operation name="update">
>             <soap:operation soapAction="urn:update" style="document"/>
>             <wsdl:input>
>                 <soap:body use="literal"/>
>             </wsdl:input>
>         </wsdl:operation>
>     </wsdl:binding>
> As you can see, the "getPrice" operation specifies a soapAction of 
> "urn:getPrice". The exception complains that the soapAction is not same as 
> wsaAction. Indeed the wsaAction has double quotes around it, while soapAction 
> does not.
> Note that regardless of the wsaw:action value in the WSDL, the wsaAction is 
> always the soapAction but enclosed in double quotes.

-- 
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