You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Tommy Odom (JIRA)" <ji...@apache.org> on 2008/06/30 19:49:45 UTC

[jira] Commented: (AXIS2C-1124) SOAP action not parsed correctly when it is contained in the content type from a MTOM message

    [ https://issues.apache.org/jira/browse/AXIS2C-1124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609307#action_12609307 ] 

Tommy Odom commented on AXIS2C-1124:
------------------------------------

I tested out the patch and it almost works, I had to make one minor change to get it to work correctly.  However, I'm not exactly positive if it's the best way to solve the problem.

The current patch does not strip off enough characters because the action string when parsed out is showing up as: \"NewOrder\"" 

There's actually an extra double quote at the end of the action string because it closes off the type="" string.  To get around that in the patch, I just changed:

tmp2[strlen(tmp2) - 2] = AXIS2_ESC_NULL;

to:

tmp2[strlen(tmp2) - 3] = AXIS2_ESC_NULL;

However, that will not work in a scenario where the action is not the last entry in the type="" string.

> SOAP action not parsed correctly when it is contained in the content type from a MTOM message
> ---------------------------------------------------------------------------------------------
>
>                 Key: AXIS2C-1124
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1124
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/transport, mtom
>    Affects Versions: 1.3.0
>            Reporter: Tommy Odom
>            Assignee: Supun Kamburugamuva
>         Attachments: http_transport_utils.c.patch
>
>
> I'm using soapui to communicate with WSO2 WSF PHP which uses axis2c (ChangeLog indicates version 1.3.1) as the engine and communication works fine when not using MTOM but as soon as I attempt to send a multi-part message, the operation is no longer found.  I traced it down to a problem in axis2c that is returning the string: \"OperationName\" instead of: OperationName.  I found that in the core/transport/http/util/http_transport_utils.c file, there is a method named axis2_http_transport_utils_get_value_from_content_type which is looking for values that start with a double quote to strip that off, but it isn't looking for an escaped double quote to strip the escaped double quote off.
> As you can see from the sample message below, the action is included in the content-type and is escaped with a backslash before the double quote.  I'm by no means an expert, but I believe from looking at the examples on ws3's XOP specification that soapui is doing the correct behavior.
> Example content-type from w3's XOP TR:
> Content-Type: application/xop+xml; 
>     charset=UTF-8; 
>     type="application/soap+xml; action=\"ProcessData\""
> Sample message:
> POST /services/order/order_service.php HTTP/1.1[\r][\n]
> Content-Type: multipart/related; type="application/xop+xml"; start="<ro...@soapui.org>"; start-info="application/soap+xml; action=\"NewOrder\""; boundary="----=_Part_17_13936350.1209567095547"[\r][\n]
> MIME-Version: 1.0[\r][\n]
> User-Agent: Jakarta Commons-HttpClient/3.0.1[\r][\n]
> Host: localhost[\r][\n]
> Content-Length: 3371[\r][\n]
> [\r][\n]
> [\r][\n]
> ------=_Part_17_13936350.1209567095547[\r][\n]
> Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml; action=\"NewOrder\""[\r][\n]
> Content-Transfer-Encoding: 8bit[\r][\n]
> Content-ID: <ro...@soapui.org>[\r][\n]
> [\r][\n]
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:fineline:order:service:1.0" xmlns:urn1="urn:fineline:order:types:1.0">[\n]
>    <soap:Header/>[\n]
>    <soap:Body>[\n]
>        ...
>    </soap:Body>[\n]
> </soap:Envelope>[\r][\n]
> ------=_Part_17_13936350.1209567095547[\r][\n]
> Content-Type: application/octet-stream[\r][\n]
> Content-Transfer-Encoding: binary[\r][\n]
> Content-ID: <123334421>[\r][\n]
> [\r][\n]
> <binary encoded data>

-- 
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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org