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/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

The AS400 PCML connector will provide ERROR_CODEs depending on the errors that occurs during its operations. Following are the ERROR_CODEs and their description : 

ERROR_CODEDescription
Init Operation
100Security or authorization error occurred.
101Error occurs when communicating to the AS400 server.
102Unable to disable GUI mode of JTOpen library for authenticating.
199Exception occurred while initializing the AS400 instance.
Call Operation
200Unable to connect to AS400 server.
201Error occurred while processing message context. May occur due to invalid data.
202Error occurred while processing the output payload.
203Error occurred while writing data to output payload.
204Error converting XPCML to payload.
205Invalid arguments are passed to the input parameters.
206Program call was not successful.
299Error occurred while calling the AS400 program
Return Pool Operation
300Error occurred while processing synapse
399Error occurred while return the AS400 connection to the pool.
Trace Operation
400Error occurred when setting logging file path.
499Error occurred when setting trace properties.

Following sequence can be used as a starting point for a custom fault handler.

faultHandlerSeq.xml
<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> 

 

 

 

 

 

 

  • No labels