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 org.apache.ode.bpel.epr.wsaendpo...@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 is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.