Skip to main content

Problem:

Trying to execute a CICS program from a batch job by using web services and EXCI.  If running ZCOMMAND.jcl, which executes COMMAND and passes parms to it.  COMMAND then calls COMMSERV, passing along the parms.  COMMSERV invokes the web service using the client program CommandService-proxy and is supposed to link to CICS program TRNSTRT.

Animating the job and stepped through COMMAND and into the COMMSERV entry point in the proxy program.  You will  see that the parms were correct before the call to COMMSERV.  As soon as the proxy program is entered, looking at the parms again and saw that an additional 16 bytes of nulls had been inserted at the beginning of the parms.  This caused error 458 (illegal character in SOAP string) when it tried to invoke the web service.

Resolution:

This issue was using a Migration project that has PCOMMAIN used for directives which created the webservice using the same mainframe dialect that they were using for the rest of the system.

Web services must use MF defaults and not using the stanadard CICS directives as noted in the documentation for EXCI.

Old KB# 1426