You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@synapse.apache.org by Song Thuy Nguyen <pr...@biaqua.de> on 2010/02/17 23:45:35 UTC

Synapse strips the quotes from SOAPAction attribute

Through monitoring SOAP-messages to solve the " The [action] cannot be processed at the receiver"-error I found something that might be a BUG. To make it short: when a SOAP-message passes synapse the SOAPAction attribute will be stripped off its quotes. It does not seem to be a big thing as my JAX-WS web service still process the request, but complains:

 

17.02.2010 23:28:44 com.sun.xml.internal.ws.transport.http.HttpAdapter fixQuotesAroundSoapAction

WARNUNG: Received WS-I BP non-conformant Unquoted SoapAction HTTP header: addx

 

 

##############  my synapse.xml  ################

 

<definitions xmlns="http://ws.apache.org/ns/synapse">

 

    <in>

        <!-- Log all messages passing through -->

        <log level="full"/>

            <send/>

    </in>

    <out>

        <log level="full"/>

        <send/>

    </out>

</definitions>

 

 

############ SOAP-message get into synapse ###########

 

POST http://127.0.0.1:9876/soap/add1.add1HttpSoap11Endpoint HTTP/1.1

Content-Type: text/xml; charset=UTF-8

SOAPAction: "addx"

User-Agent: Axis2

Host: 127.0.0.1:9876

Proxy-Connection: Keep-Alive

Transfer-Encoding: chunked

 

2de

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://127.0.0.1:9876/soap/add1.add1HttpSoap11Endpoint</addr:To><addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing">addx</addr:Action><addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo><addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr51wo3bwjqam</addr:MessageID></soapenv:Header><soapenv:Body><addx xmlns="http://adder.services/">

  <arg0 xmlns="">0</arg0>

</addx></soapenv:Body></soapenv:Envelope>

0

 

##############  SOAP-message leaving synapse ################

 

POST http://127.0.0.1:9876/soap/add1.add1HttpSoap11Endpoint HTTP/1.1

Host: 127.0.0.1:9876

Proxy-Connection: Keep-Alive

SOAPAction: addx

Content-Type: text/xml; charset=UTF-8

Transfer-Encoding: chunked

Connection: Keep-Alive

User-Agent: Synapse-HttpComponents-NIO

 

fb

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header /><soapenv:Body><addx xmlns="http://adder.services/">

  <arg0 xmlns="">0</arg0>

</addx></soapenv:Body></soapenv:Envelope>

0

 

##############################################################

 

notice: first it was SOAPAction = "addx", then SOAPAction = addx

 

Why does synapse do that?

 

Greetings,

 

Thuy


Re: Synapse strips the quotes from SOAPAction attribute

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Hi,

Thanks for bringing this to our attention. Looks like it's something we need
to fix for the 1.3 release. I just tested and verified that the issue exists
in the 1.3 branch as well. Can you please file a bug report in the Apache
JIRA for this issue along with the information you have posted here?

Thanks,
Hiranya

On Thu, Feb 18, 2010 at 4:15 AM, Song Thuy Nguyen <pr...@biaqua.de>wrote:

> Through monitoring SOAP-messages to solve the " The [action] cannot be
> processed at the receiver"-error I found something that might be a BUG. To
> make it short: when a SOAP-message passes synapse the SOAPAction attribute
> will be stripped off its quotes. It does not seem to be a big thing as my
> JAX-WS web service still process the request, but complains:
>
>
>
> 17.02.2010 23:28:44 com.sun.xml.internal.ws.transport.http.HttpAdapter
> fixQuotesAroundSoapAction
>
> WARNUNG: Received WS-I BP non-conformant Unquoted SoapAction HTTP header:
> addx
>
>
>
>
>
> ##############  my synapse.xml  ################
>
>
>
> <definitions xmlns="http://ws.apache.org/ns/synapse">
>
>
>
>    <in>
>
>        <!-- Log all messages passing through -->
>
>        <log level="full"/>
>
>            <send/>
>
>    </in>
>
>    <out>
>
>        <log level="full"/>
>
>        <send/>
>
>    </out>
>
> </definitions>
>
>
>
>
>
> ############ SOAP-message get into synapse ###########
>
>
>
> POST http://127.0.0.1:9876/soap/add1.add1HttpSoap11Endpoint HTTP/1.1
>
> Content-Type: text/xml; charset=UTF-8
>
> SOAPAction: "addx"
>
> User-Agent: Axis2
>
> Host: 127.0.0.1:9876
>
> Proxy-Connection: Keep-Alive
>
> Transfer-Encoding: chunked
>
>
>
> 2de
>
> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><addr:To
> xmlns:addr="http://www.w3.org/2005/08/addressing">
> http://127.0.0.1:9876/soap/add1.add1HttpSoap11Endpoint</addr:To><addr:Action
> xmlns:addr="http://www.w3.org/2005/08/addressing">addx</addr:Action><addr:ReplyTo
> xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>
> http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo><addr:MessageID
> xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr51wo3bwjqam</addr:MessageID></soapenv:Header><soapenv:Body><addx
> xmlns="http://adder.services/">
>
>  <arg0 xmlns="">0</arg0>
>
> </addx></soapenv:Body></soapenv:Envelope>
>
> 0
>
>
>
> ##############  SOAP-message leaving synapse ################
>
>
>
> POST http://127.0.0.1:9876/soap/add1.add1HttpSoap11Endpoint HTTP/1.1
>
> Host: 127.0.0.1:9876
>
> Proxy-Connection: Keep-Alive
>
> SOAPAction: addx
>
> Content-Type: text/xml; charset=UTF-8
>
> Transfer-Encoding: chunked
>
> Connection: Keep-Alive
>
> User-Agent: Synapse-HttpComponents-NIO
>
>
>
> fb
>
> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header
> /><soapenv:Body><addx xmlns="http://adder.services/">
>
>  <arg0 xmlns="">0</arg0>
>
> </addx></soapenv:Body></soapenv:Envelope>
>
> 0
>
>
>
> ##############################################################
>
>
>
> notice: first it was SOAPAction = "addx", then SOAPAction = addx
>
>
>
> Why does synapse do that?
>
>
>
> Greetings,
>
>
>
> Thuy
>
>


-- 
Hiranya Jayathilaka
Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com