This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Configuring the AS400 PCML Fault Handler Sequence

Following is a sample fault handler sequence you can use as a starting point for handling faults when integrating with AS400. 

Customize this sample to match your requirements.

<sequence xmlns="http://ws.apache.org/ns/synapse" name="faultHandlerSeq">
<property xmlns:ns="http://org.apache.synapse/xsd" name="contentTypeValue" expression="get-property('transport', 'Content-Type')"></property>
   <filter xmlns:ns="http://org.apache.synapse/xsd" xpath="get-property('contentTypeValue') = 'application/json' or get-property('contentTypeValue') = 'text/json'">
      <then>         
          <payloadFactory media-type="json">
               <format> {"error_code":"$1", "error_message":"$2"} 
		  </format>
                  <args>
                     <arg expression="get-property('ERROR_CODE')" evaluator="xml"></arg>
                     <arg expression="get-property('ERROR_MESSAGE')" evaluator="xml"></arg>
                  </args>
               </payloadFactory>
               <property name="messageType" value="application/json" scope="axis2"></property>
        </then>
      </filter>
      <filter xmlns:ns="http://org.apache.synapse/xsd" xpath="get-property('contentTypeValue') = 'application/xml' or get-property('contentTypeValue') = 'text/xml'">
          <then>
          <payloadFactory media-type="xml">
                  <format>
                     <error_info>
                        <error_code>$1</error_code>
                        <error_message>$2</error_message>
                     </error_info>
                  </format>
                  <args>
                     <arg expression="get-property('ERROR_CODE')" evaluator="xml"></arg>
                     <arg expression="get-property('ERROR_MESSAGE')" evaluator="xml"></arg>
                  </args>
               </payloadFactory>
               <property name="messageType" value="text/xml" scope="axis2"></property> 
        </then>                             
   </filter>
   <respond></respond>
</sequence> 

Error Code

This section describes the connector error codes and their meanings.

Init Operation
Error CodeDescription
100An error occurred in security or authorization.
101An error occurred when communicating with the AS400 server.
102Unable to disable GUI mode of JTOpen library for authenticating.
103

An error occurred while retrieving a connection from the pool.

199An exception occurred while initializing the AS400 instance.
Call Operation
Error CodeDescription
200Unable to connect to the AS400 server.
201An error occurred while processing message context. May occur due to invalid data.
202An error occurred while processing the output payload.
203An error occurred while writing data to output payload.
204An error converting XPCML to payload.
205Invalid arguments are passed to the input parameters.
206Program call was not successful.
299An error occurred while calling the AS400 program.
ReturnPool Operation
Error CodeDescription
300An error occurred while processing synapse.
399An error occurred while returning the AS400 connection to the pool.
Trace Operation
Error CodeDescription
400An error occurred while setting the log file path.
499An error occurred while setting trace properties.