You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2017/08/04 08:00:12 UTC

[jira] [Commented] (ODE-602) invocation fails if urlReplacement and form encoded used

    [ https://issues.apache.org/jira/browse/ODE-602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114090#comment-16114090 ] 

Hudson commented on ODE-602:
----------------------------

FAILURE: Integrated in Jenkins build ODE-1.x #558 (See [https://builds.apache.org/job/ODE-1.x/558/])
ODE-602: Message parts URLEncoded into the request body for post & put (sathwik: [https://github.com/apache/ode/commit/ff15525632ab7b91e288012151a218474945a4e5])
* (add) axis2-war/src/test/resources/TestHttpBindingExt_POST_FORM_URL_ENCODED/Blog.wsdl
* (edit) axis2/src/main/java/org/apache/ode/axis2/httpbinding/HttpMethodConverter.java
* (add) axis2-war/src/test/resources/TestHttpBindingExt_POST_FORM_URL_ENCODED/testRequest.soap
* (add) axis2-war/src/test/resources/TestHttpBindingExt_POST_FORM_URL_ENCODED/http-binding-ext-POST.bpel
* (add) axis2-war/src/test/resources/TestHttpBindingExt_POST_FORM_URL_ENCODED/http-binding-ext-POST.wsdl
* (add) axis2-war/src/test/resources/TestHttpBindingExt_POST_FORM_URL_ENCODED/deploy.xml
* (edit) axis2-war/src/test/java/org/apache/ode/axis2/httpbinding/HttpBindingTest.java


> invocation fails if urlReplacement and form encoded used
> --------------------------------------------------------
>
>                 Key: ODE-602
>                 URL: https://issues.apache.org/jira/browse/ODE-602
>             Project: ODE
>          Issue Type: Improvement
>    Affects Versions: 1.3.2
>            Reporter: Alexis Midon
>            Assignee: Sathwik Bantwal Premakumar
>             Fix For: 1.3.8, 1.4
>
>
> The case where urlReplacement and form encoded are used at the same time for a given operation is not supported. I'm afraid this somewhat edgecase was not considered.
> As of today, application/x-www-form-urlencoded can be used with GET/DELETE and in this case all parts are encoded in the query string of the URL ; or with POST/PUT and all parts are be encoded in the entity-body. 
> To recap, as of today, the following operation will fail with traces below. This might be considered as an improvement/new feature.
> <wsdl:binding name="restBinding" type="rest2:restInterface">
>     <wsdl:operation name="POST">
>       <ode:binding verb="POST"/>
>       <http:operation location=""/>
>       <wsdl:input>
>         <http:urlReplacement/>
>         <mime:content type="application/x-www-form-urlencoded" part="part1"/>
>       </wsdl:input>
>       <wsdl:output>
>         <mime:content type="text/xml" part="response"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
> ERROR - GeronimoLog.error(108) | [Service: {http://ode/bpel/test/blog}BlogService, Port: BlogPort, Operation: doPOST] Unknown HTTP call error for ODE mex {PartnerRoleMex#hqejbhcnphr49pt1mxc8mc [PID {http://ode/bpel/unit-test}http-binding-ext-POST-3] calling org.apache.ode.bpel.epr.WSAEndpoint@18fc7ca.doPOST(...)}
> java.lang.IllegalArgumentException: The content cannot be null
> 	at org.apache.commons.httpclient.methods.StringRequestEntity.<init>(StringRequestEntity.java:97)
> 	at org.apache.ode.axis2.httpbinding.HttpMethodConverter.prepareHttpMethod(HttpMethodConverter.java:195)
> 	at org.apache.ode.axis2.httpbinding.HttpMethodConverter.createHttpRequest(HttpMethodConverter.java:113)
> 	at org.apache.ode.axis2.httpbinding.HttpExternalService.invoke(HttpExternalService.java:169)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:778)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
> This can be reproduced by patching axis2-war/src/test/resources/TestHttpBindingExt_POST/Blog.wsdl
> @@ -155,7 +155,7 @@
>              <odex:binding verb="POST"/>
>              <wsdl:input>
>                  <http:urlReplacement/>
> -                <mime:content type="text/xml" part="comment"/>
> +                <mime:content type="application/x-www-form-urlencoded" part="comment"/>
>              </wsdl:input>
>              <wsdl:output/



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)