Hello, I'm getting a response from a service in multiRef format and I'm not
sure how to handle it in ODE.
I get the error:
ERROR - GeronimoLog.error(104) | Assignment Fault: {
http://schemas.xmlsoap.org/ws/2004/03/business-process/}selectionFailure,lineNo=246,faultExplanation=R-Valueexpression
"{OXPath10Expression $GetQuoteOut5.getQuoteReturn/addressCount}"
did not select any nodes.
Here is the BPEL:
<bpws:invoke name="GetQuoteFromAddressProviderB"
partnerLink="AddressProviderB" operation="getQuote"
portType="ns30:AddressBType" inputVariable="GetQuoteIn5"
outputVariable="GetQuoteOut5"/>
<bpws:copy>
<bpws:from>$GetQuoteOut5.getQuoteReturn/addressCount</bpws:from>
<bpws:to variable="GetQuoteIn6" part="in0"/>
</bpws:copy>
This is the response message:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soapenv:Body>
<ns1:getQuoteResponse
xmlns:ns1="
http://addressProviderB.addressProvider.printAndMail.scenario.llama.uci.edu"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
">
<getQuoteReturn href="#id0" />
</ns1:getQuoteResponse>
<multiRef
xmlns:ns2="
http://addressProviderB.addressProvider.printAndMail.scenario.llama.uci.edu"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
id="id0"
soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:AddressQuote">
<addressCount href="#id1" />
<priceForList href="#id2" />
</multiRef>
<multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
id="id1"
soapenc:root="0" soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="xsd:int">110</multiRef>
<multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
id="id2" soapenc:root="0"
soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="xsd:double">0.33</multiRef>
</soapenv:Body>
</soapenv:Envelope>
This is the schema:
<complexType name="AddressQuote">
<sequence>
<element name="addressCount" type="xsd:int" />
<element name="priceForList" type="xsd:double" />
</sequence>
</complexType>