SOAP fault information is not preserved correctly with WebSphere Enterprise Service Bus (WESB) and IBM Business Process Manager (BPM) Advanced

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:

  1. Enable the component fault propagation in the product run time. To enable it, complete the following steps:
    1. Log into the WebSphere Administration Console.
    2. Select Servers > WebSphere application servers > server_name.
    3. Click Server Infrastructure > Java and Process Definition > Process Definition.
    4. On the Process Definition page, click Additional Properties > Java Virtual Machine.
    5. Add the following Generic JVM Arguments property:
      com.ibm.sibx.smo.mediationPropagateFaultInfo=true
    6. Restart the server to enable the setting.

  2. Enable WebService Biding fault propagation. To enable it, complete the following steps:
    1. Open the module project in IBM Integration Designer and select the WebService Export component in the Assembly Diagram.
    2. Open the Properties view of the WebService Export component and select the Binding > Propagation tab, which shows the propagation options.
    3. Enable Propagate the SOAP fault information.
    4. Redeploy the module to the product.

Cross reference information
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:

(0 users)Average rating

Document information


More support for:

WebSphere Enterprise Service Bus
WebServices

Software version:

7.5.1

Operating system(s):

AIX, HP-UX, Linux, Linux zSeries, Solaris, Windows, z/OS

Reference #:

1619120

Modified date:

2013-03-20

Translate my page

Machine Translation

Content navigation