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.

Before you begin

Symptoms include the generation of SOAP fault messages and CICS messages indicating that a failure has occurred.

About this task

If you have a data conversion problem, perform the following steps:

Procedure

  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 can 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 off validation: 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 an inbound SOAP message 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 occur, they are followed by a conversion error. For a possible interpretation of these conversion errors, see the explanations of messages DFHPI1007 to DFHPI1010.