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
Fix For: Wishlist
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
[email protected](...)}
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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.