axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sagara Gunathunga (JIRA)" <>
Subject [jira] [Commented] (AXIS2-5374) Axis2 always assume "text/xml" as SOAP 1.1 content
Date Wed, 25 Jul 2012 14:04:35 GMT


Sagara Gunathunga  commented on AXIS2-5374:

Once the following setting available on axis2.xml above doingREST is set to true and provide
desired functionalities too.

 <parameter name="enableREST">true</parameter>

But still I don't think above solution is a widely acceptable solution.

1.) Above doingREST flag is checked and set within the HTTP module under HTTPTransportUtils#initializeMessageContext()
method. I haven't check other transports yet but IMO this check should not belong to a specific
transport implementation. In my POV when writing a new transport it should not expect to anticipate
 REST and SOAP messages by the transport implementation.

2.) "enableREST" is a kind of a hidden setting and "disableREST" setting also there, having
two settings for same or slightly different features are not a good design. For the moment
it's required to have following two settings.

    <parameter name="disableREST" >false</parameter>
    <parameter name="enableREST">true</parameter>

3.) HTTPTransportUtils#initializeMessageContext() method facilitate for REST invocation by
changing "text/xml" content type into "application/xml" content type when the conditions are
met. But the better approach would be perform REST invocation while keeping "text/xml" content
type as it is.

4.) As a side effect of 3.)  REST invocation always returns response messages with "application/xml"
content type ignoring original content type of the request message. 
> Axis2 always assume "text/xml" as SOAP 1.1 content  
> ----------------------------------------------------
>                 Key: AXIS2-5374
>                 URL:
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.5.6, 1.6.2
>            Reporter: Sagara Gunathunga 
>            Assignee: Sagara Gunathunga 
>            Priority: Critical
> Axis2 REST guide contains following text
> "if the content type is text/xml and if the SOAPAction Header is missing, then the message
is treated as a RESTful Message, if not it is treated as a usual SOAP Message." 
> In summery
> content type - text/xml + SOAPAction present          =>   SOAP 1.1 
> content type - text/xml + NO SOAPAction present    =>   POX (REST)
> In contrast Axis2 never implemented above logic and always consider text/xml as SOAP
1.1.  This issue can be solved by adding a condition to TransportUtils#getMessageFormatter()
so that it will check "SOAPAction" header in addition to "text/xml" content type.
> Before I implement above solution I like see any objection from users and developers.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message