Diagnosing data conversion errors

Data conversion errors can occur at run time when converting a SOAP message into a CICS COMMAREA or container and from a COMMAREA or container into a SOAP message.

Symptoms include the generation of SOAP fault messages and CICS messages indicating that a failure has occurred.
If you have a data conversion problem, you should perform the following steps:
  1. Ensure that the WEBSERVICE resource is up to date. Regenerate the Web service binding file for the Web service and redeploy it to CICS.
  2. Ensure that the remote Web service has been generated using the same version of the Web service document (WSDL) as used or generated by CICS.
  3. If you are sure that the WEBSERVICE resource is using a current Web service binding file:
    1. Enable runtime validation for the WEBSERVICE resource using the command SET WEBSERVICE(name) VALIDATION where name is the WEBSERVICE resource name.
    2. Check for the CICS messages DFHPI1001 or DFHPI1002 in the message log. DFHPI1001 describes the precise nature of the data conversion problem, and should help you identify the source of the conversion error. DFHPI1002 indicates that no problems were found.
    3. When you no longer need validation for the Web service, use the following command to turn validation off: SET WEBSERVICE(name) NOVALIDATION.
  4. If you still have not determined the reason for the conversion error, take a CICS trace of the failing Web service. Look for the following PI domain exception trace entries:
    PI 0F39 - PICC   *EXC* - CONVERSION_ERROR
    PI 0F08 - PIII   *EXC* - CONVERSION_ERROR
    A PICC conversion error indicates that a problem occurred when transforming a SOAP message received by CICS into a COMMAREA or container. A PIII conversion error indicates that a problem occurred when generating a SOAP message from a COMMAREA or container supplied by the application program. In both cases, the trace point identifies the name of the field associated with the conversion error and might also identify the value that is causing the problem. If either of these trace points appear, then it will be followed by a conversion error. For a possible interpretation of these conversion errors, see Conversion errors in trace points.