1

我正在开发一个 CICS Web 服务请求程序应用程序来使用分布式 Web 服务。我使用 Web 服务助手 DFHWS2LS 成功地将 wsdl 转换为字帖。

我发出 PUT CONTAINER 和 INVOKE SERVICE api 命令没有问题,但是当我发出 GET CONTAINER 时,我没有收到任何容器或数据。没有响应代码或错误消息,但没有数据。任何关于如何调试它的想法将不胜感激。谢谢,

4

1 回答 1

1

I have never seen RESP be DFHRESP(NORMAL) and RESP2 be zero and have nothing returned by the server.

Verify the WSDL specifies that something is, in fact, returned by the web service.

Check the RESP and RESP2 values returned by the INVOKE SERVICE API. You don't mention these explicitly, and I presume the former is DFHRESP(NORMAL) and the latter is 0, but you might have coded NOHANDLE so I thought I'd ask.

Take a look in the TD queue mapped to CSSL (the default is the MSGUSR DD) for your CICS region. This is where CICS logs messages when it runs into an error while processing your SOAP request. Look for messages prefixed DFHPI.

Try pinging the endpoint from a TSO session running on the same LPAR as your CICS region, it's possible you're being stopped by a firewall.

In your comment you indicate the requestor is "seeing whitespace on the <SOAP-ENV:Envelope tag>". This isn't something under your direct control. The CICS "plumbing" code takes care of formatting the SOAP message. You may want to ask your CICS Systems Programmer to look for APARs related to the problem and install any associated PTFs.

You could verify the requestor's claim by using the transport handler in Appendix A.3 of this redbook. You'll have to modify your pipeline configuration file to execute the handler.

于 2014-06-06T22:40:52.230 回答