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