Technote (troubleshooting)
Problem(Abstract)
In a SOAP fault pass-through scenario, the reason section (faultString in SOAP 1.1, Reason in SOAP 1.2) of the SOAP fault information is not preserved correctly at the client side. The information is overwritten by another value.
Symptom
The SOAP fault information, which is returned by the target web service, contains a faultString/Reason. This information is properly propagated in the mediation and is seen in the service message object (SMO). However, the response sent back to the client is not correct as the faultString/Reason section of the SOAP fault does not contain the original faultString/Reason. For example, you might see the following code for the target web service response:
<soapenv:Code>
<soapenv:Value>soapenv:Receiver</soapenv:Value>
</soapenv:Code>
<soapenv:Reason>
<soapenv:Text xml:lang="en">ORIGINAL</soapenv:Text>
</soapenv:Reason>
The client might receive the following code:
<soapenv:Code>
<soapenv:Value>soapenv:Receiver</soapenv:Value>
</soapenv:Code>
<soapenv:Reason>
<soapenv:Text xml:lang="en">RECEIVED</soapenv:Text>
</soapenv:Reason>
Resolving the problem
To resolve this issue, make sure that WebService Export bindings that are used in the application are of the type JAX-WS and that the IBM Integration Designer version is 7.5.1 or later. SOAP fault information propagation is achieved in the following steps:
- Enable the component fault propagation in the product run time. To enable it, complete the following steps:
- Log into the WebSphere Administration Console.
- Select Servers > WebSphere application servers > server_name.
- Click Server Infrastructure > Java and Process Definition > Process Definition.
- On the Process Definition page, click Additional Properties > Java Virtual Machine.
- Add the following Generic JVM Arguments property:
com.ibm.sibx.smo.mediationPropagateFaultInfo=true - Restart the server to enable the setting.
- Enable WebService Biding fault propagation. To enable it, complete the following steps:
- Open the module project in IBM Integration Designer and select the WebService Export component in the Assembly Diagram.
- Open the Properties view of the WebService Export component and select the Binding > Propagation tab, which shows the propagation options.
- Enable Propagate the SOAP fault information.
- Redeploy the module to the product.
| Segment | Product | Component | Platform | Version | Edition |
|---|---|---|---|---|---|
| Business Integration | IBM Business Process Manager Advanced | Web Services | AIX, Linux, Linux zSeries, Solaris, Windows, z/OS | 8.0.1, 8.0, 7.5.1 |
Product Alias/Synonym
BPM
WESB
Rate this page:
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.