I have a binding that makes a GET request, and ODE seems to be telling me
that I can only stuff the response into an xs:string type. When using the
mime:content element I at least get it to error (below), but when I use
other options for the output (soap:body, mime:mimeXml,
mime:multipartRelated) the response is empty. Does anyone know what I can
use in the output the operation to get ode to keep the response as XML as
opposed to treating it as a string? Or are there any xpath/xslt expressions
I could use to parse it into a document?
Here's the messageType:
<wsdl:message name="ExtraPathResponse">
<wsdl:part
name="IssueRSSResponse" type="xsd:anyType"/>
</wsdl:message>
The binding:
<wsdl:binding name="GetIssueRSSHTTP" type="rss:GetIssueRSS">
<http:binding verb="GET"/>
<wsdl:operation name="ExtraPath">
<odex:binding verb="GET"/>
<http:operation location=""/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content part="IssueRSSResponse"
type="text/xml"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
And the error:
[2010-04-22 13:08:03,841] ERROR - Unable to process response: Type of the
message part must be string when using mime:content as the operation out
put.For example WSDL message definition should looks like <message
name="input"><part name="param" type="xs:string"/></message>
org.apache.ode.axis2.OdeFault: Type of the message part must be string when
using mime:content as the operation out put.For example WSDL message
definition should looks like <message name="input"><part name="param"
type="xs:string"/></message>
at
org.wso2.carbon.bpel.ode.integration.utils.SOAPHelper.parseSoapResponse(SOAP
Helper.java:281)
at
org.wso2.carbon.bpel.ode.integration.ExternalService.reply(ExternalService.j
ava:324)
at
org.wso2.carbon.bpel.ode.integration.ExternalService.invoke(ExternalService.
java:208)
at
org.wso2.carbon.bpel.ode.integration.BPELMessageExchangeContextImpl.invokePa
rtnerUnreliable(BPELMessageExchangeContextImpl.java:52)
at
org.apache.ode.bpel.engine.PartnerLinkPartnerRoleImpl$UnreliableInvoker.run(
PartnerLinkPartnerRoleImpl.java:345)
at
org.apache.ode.bpel.engine.ODEProcess$ProcessRunnable.run(ODEProcess.java:12
83)
at
org.apache.ode.bpel.engine.BpelServerImpl$ServerRunnable.run(BpelServerImpl.
java:931)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:651)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
76)
at java.lang.Thread.run(Thread.java:613)
Any help or ideas would be greatly appreciated,
Thanks