NetBeans Forums
| View previous topic :: View next topic |
| Author |
Message |
fabilupo
Joined: 03 Jul 2011 Posts: 1
|
Posted: Sun Jul 03, 2011 11:19 am Post subject: BPEL - Message Normalization Failed |
|
|
Hi all,
here is my annoying problem. Thank you in advance for your attention.
I developed a dummy bpel process BP which receives a string and has to propagate it to an external service. The external service in question is described by the following WSDL interface: http://www.flash-db.com/services/ws/locationByZip.wsdl . I'll call it ZIP.
So, BP takes a string S and makes an invoke to ZIP by passing S.
As you may notice by looking at the ZIP's WSDL, the operation getLocationByZip is bound as rpc/encoded. I insist on this fact because the problem i experience is given only by services which are rpc/encoded. Here is the error:
| Code: |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>BPCOR-6135: A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;jbi:message xmlns:sxeh=&quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling&quot; type=&quot;sxeh:faultMessage&quot; version=&quot;1.0&quot; xmlns:jbi=&quot;http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper&quot;&gt;&lt;jbi:part&gt;HTTPBC-E00798: Message normalization failed: HTTPC-W00711: The SOAP Message being processed requires, but does not have, a node matching the operation name getLocationByZip&lt;/jbi:part&gt;&lt;/jbi:message&gt;. Sending errors for the pending requests in the process scope before terminating the process instance</faultstring>
<faultactor>sun-bpel-engine</faultactor>
<detail>
<detailText>BPCOR-6135: A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;jbi:message xmlns:sxeh=&quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling&quot; type=&quot;sxeh:faultMessage&quot; version=&quot;1.0&quot; xmlns:jbi=&quot;http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper&quot;&gt;&lt;jbi:part&gt;HTTPBC-E00798: Message normalization failed: HTTPC-W00711: The SOAP Message being processed requires, but does not have, a node matching the operation name getLocationByZip&lt;/jbi:part&gt;&lt;/jbi:message&gt;. Sending errors for the pending requests in the process scope before terminating the process instance
Caused by: BPCOR-6131: An Error status was received while doing an invoke (partnerLink=orch-locatorbyzip, portType={urn:LocationByZip}LocationByZipPort, operation=getLocationByZip)
BPCOR-6129: Line Number is 80
BPCOR-6130: Activity Name is toLocator
Caused by: HTTPBC-E00798: Message normalization failed: HTTPC-W00711: The SOAP Message being processed requires, but does not have, a node matching the operation name getLocationByZip
Caused by: HTTPC-W00711: The SOAP Message being processed requires, but does not have, a node matching the operation name getLocationByZip</detailText>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
Further details:
- i had a look even to the outcoming/incoming SOAP messages when running a test case: the very strange fact is that i get the CORRECT answer, but it seems that the BPEL engine throws away it because of some problems. Here these messages:
Request:
| Code: |
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><m:getLocationByZip xmlns:m="urn:LocationByZip"><zip xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">10001</zip></m:getLocationByZip></SOAP-ENV:Body></SOAP-ENV:Envelope>
|
Answer:
| Code: |
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd"><SOAP-ENV:Body><getLocationByZipResponse><soapVal><state xsi:type="xsd:string">NY</state><latitude xsi:type="xsd:string">40.7507</latitude><longitude xsi:type="xsd:string">-73.9965</longitude></soapVal></getLocationByZipResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
|
Other things:
- if i invoke directly ZIP, without passing through BP, it works correctly
- finally, i give you my opinion: the problem seems to be related to the namespaces: in the SOAP request message the attribute xmlns="" overwrites the correct namespace, and this makes fail the validation of the SOAP messages
Thank you very much for your attention (and patience).
Fabio[/code] |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|