[
https://issues.apache.org/jira/browse/ODE-1024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16151721#comment-16151721
]
Sathwik Bantwal Premakumar commented on ODE-1024:
-------------------------------------------------
Note: WSDL 1.1 spec http binding only talks about simple elements in the
message part for processing using urlEncoded or urlReplacement. *Complex types
are not supported*.
Looking at the example in the spec https://www.w3.org/TR/wsdl#_http-e. The
message part name is used for the replacement in the http operation location.
{noformat}
<message name="m1">
<part name="part1" type="xsd:string"/>
<part name="part2" type="xsd:int"/>
<part name="part3" type="xsd:string"/>
</message>
<binding name="b1" type="pt1">
<http:binding verb="GET"/>
<operation name="o1">
<http:operation location="o1/A(part1)B(part2)/(part3)"/>
<input>
<http:urlReplacement/>
</input>
..........
</binding>
{noformat}
There are multiple problems in the attached process HelloWorld2.zip to this
JIRA, it doesn't use the part name in the http operation location at all for
any replacement to happen.
{noformat}
<xs:element name="HelloBack">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="helloMsg"
nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<wsdl:message name="HelloBackRequest">
<wsdl:part name="parameters" element="ns:HelloBack"/>
</wsdl:message>
<wsdl:binding name="HelloWorldWSHttpBinding" type="ns:HelloWorldWSPortType">
<http:binding verb="GET"/>
<wsdl:operation name="HelloBack">
<http:operation location="HelloBack"/>
{noformat}
Henceforth the endpoint URI will have the HelloBack appended as follows
http://localhost:8099/axis2/services/HelloWorldWS.HelloWorldWSHttpEndpoint/HelloBack
Inorder to make this work one needs to do these changes
1. Define a simple type element
{noformat}
<xs:element name="helloMsg" minOccurs="0" nillable="true" type="xs:string" />
{noformat}
2. and define the message part as follows
{noformat}
<wsdl:message name="HelloBackRequest">
<wsdl:part name="helloMsg" element="ns:helloMsg"/>
</wsdl:message>
{noformat}
3. OR Define the message part as simple type
{noformat}
<wsdl:message name="HelloBackRequest">
<wsdl:part name="helloMsg" type="xs:string"/>
</wsdl:message>
{noformat}
4. urlReplacement
{noformat}
<http:operation location="HelloBack/{helloMsg}"/>
{noformat}
> Operation input isn't passed for [HTTP binding, GET verb]
> ---------------------------------------------------------
>
> Key: ODE-1024
> URL: https://issues.apache.org/jira/browse/ODE-1024
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 1.3.6
> Environment: Win7 x64, two JRE were tested: 8.0.25 and 7.0.71
> Reporter: Vitaliy Tkachenko
> Assignee: Tammo van Lessen
> Fix For: 1.3.8, 1.4
>
> Attachments: HelloWorld2.zip, HelloWorldWS.aar, HelloWorldWS.zip,
> hwwsExecute.xml
>
>
> ODE doesn't pass parameters in the request string using GET HTTP method (verb
> GET, HTTP binding). Attaching the Axis2 service aar with sources to get up
> the service (built with Java 7.0.71 - use it to start Tomcat with Axis2), the
> ODE process zip to access it and SOAP request to execute the ODE process.
> TCPMon also was used to accept on the port 8099 and pass through to the port
> 8080 of the real Tomcat service to check requests content.
> Actual response from the ODE process is "I'd say Hello to the one who said
> 'null'!". Expected response is: "I'd say Hello to the one who said 'hi from
> BPEL'!".
> If you update the deploy.xml to use the HelloWorldWSHttpSoap11Endpoint
> endpoint the process works out successfully returning the expected response.
> Taking a look at requests in TCPMon we see the
> "http://localhost:8099/axis2/services/HelloWorldWS.HelloWorldWSHttpEndpoint/HelloBack"
> request address for the given example using the urlReplacement input
> encoding. If you change it to the "urlEncoded" then the request string will
> be
> "http://localhost:8099/axis2/services/HelloWorldWS.HelloWorldWSHttpEndpoint/HelloBack?".
> Thus nither "urlEncoded" nor "urlReplacement" GET encodings do not work out
> appropriately in the ODE.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)