IBM Support

Open Mic replay: CICS Web services

Webcasts


Abstract

IBM held a Support Technical Exchange Open Mic session on the topic of CICS Web Services on 27 August 2008. This included a short introduction to the topic followed by a question and answer period in which a group of subject matter experts answered questions from customers.

Content

Open Mic sessions are conducted in a question and answer format. The table below provides a time index (minutes:seconds) to the recording and describes the questions or topics discussed. You can fast forward to any question using the time index. A table containing the panel of experts is also included.

To play or download the audio 1 hour and 20 minute recording of this Open Mic session, see the Audio Section of this document.



Open Mic session


TimeQuestions asked
00:00Silence
00:30General introduction
08:00How do I get started with Web services in CICS?

For reference:
Web services in the CICS TS V3.2 documentation
Technote: Testing Web services
Redpaper: SOAP Message Size Performance Considerations

10:26What is the difference between CICS Web services, CICS Web support, and the CICS Web interface?
13:01I have been researching on how to set up Web services ... From a practical point of view, is it better to set up a new CICS region that does all the initial Web services routing versus install Web services in a series of AORs?
14:45Is there any detailed documentation for .NET/Visual Studio integration?
16:14The WSDL we generated for a simple program was pulled into Visual Studio, but offered no sample test application the way the WSDLs we generated through Visual Studio do. Yet when we pulled the same WSDL into Eclipse, the sample application was offered right away. Do you plan a tighter integration with Visual Studio?

For reference:
Technote: Testing Web services
17:50What is the easiest way to debug my Web services applications?

For reference:
Collecting troubleshooting data for a CICS Web services problem
CICS Support page

20:32How do I diagnose a CICS Web services conversion error?

For reference:


Diagnosing Data conversion errors with CICS web services
Diagnosing DFHPI0602 error messages
26:21Is there any way for my application to participate in the trouble shooting for a Web services error?

Question submitted: Currently if an inbound or outbound messages do not conform to the WSDL specification an error is recorded in a CICS log. Is it possible to have a fault generated so the application can participate in trouble shooting such issues? The current CICS log is NOT a very effective means for resolving these issues. Also, in many cases the information recorded in the CICS log is insufficient to determine the source of the issue.
29:32We are hoping to use your Web services tools to build browser-based front-end to many of our legacy 3270 applications. One of the features of our existing applications is field validation upon submission backed up by a sub-program offering look-ups for fields that failed validation. For example, if you entered "New Tork" in a city input field for the state of New York, the validation routine would push a look-up screen to the user that offers a valid list of cities in New York State. Since it is a sub-program of the original, the selection of a valid city immediately becomes part of the submitted response, replacing the invalid entry and validation can continue. Is this type of integration between the initial submission and reworked response possible in the Web services area? We do not want to have to push the whole screen back out to be re-worked and revalidated, just open a browser window on the user’s desktop and have them fix an error during the course of validation. The code already exists in CICS, but we would need to maintain a tight level of persistence between each user’s initial input and their subsequent modifications.
32:56Is it possible to get support for SOAP Headers (the building of)?
35:21With Web services, RD/z has become a key component for generating production objects. However, the objects generated (WSBIND, etc.) are impacted by the responses to the wizard prompts. It is very important that production objects always be created the same. But, currently there is no way to record prompt responses and then rerun those responses so the object generation will always be the same. Please explain what we can expect in the future to enable “good practices” to be used for the maintaining of production-alized Web service objects.
37:09It is not uncommon in the world of Web services to need to consume a WSDL that does not include the size parameters (MIN/MAX-LENGTH) required by the mainframe. In these cases, the default size is used a lot. Since the WSDL is the Web service contract it is preferable to NOT modify the WSDL or associated XSD. However, currently RD/z only allows for one default length which is not sufficient in a lot of cases thus forcing developers to modify the WSDL and/or XSD. This practice invalidates the contract of the service provider (not the preferable method). A preferred approach may be more defaults, or a element by element override JUST to enable the mainframe definitions. Please comment on what we can expect in the future on this issue.
40:00How do we set up our RACF Keyrings to include both self signed Client and Server certificates and also the CA (Entrust) and SITE certificate that the region needs?

Background:
We are trying to implement client certificates and when I point the CICS region to a keyring with only the self signed certificates, I get a 440 SSL error. The self signed client certificate is added to the keyring as usage(certauth). The self signed server certificate is in the keyring with usage(personal) and default. The display of the keyring:
Ring:
>CICS3_NewSign3<                                              
Certificate Label Name  Cert Owner      USAGE     DEFAULT
----------------------  -------------   --------  -------
WASCERT20               ID(PSERVER)     CERTAUTH    NO  
CICSCERT                ID(CICS3)       PERSONAL    YES  

When I point the CICS region to a keyring with the self signed certificates mentioned above and our CA and SITE certificates, we get a 435 SSL error. The display of the keyring:
Ring:
>CICS3_NewSign4<        
Certificate Label Name     Cert Owner     USAGE      DEFAULT
----------------------     ------------   --------   -------
WASCERT20                  ID(PSERVER)    CERTAUTH     NO  
CICSCERT                   ID(CICS3)      PERSONAL     NO  
Entrust Secure Server Root CACERTAUTH     CERTAUTH     NO  
Shared SSL for CICS        SITE           PERSONAL     YES  
44:08Is there any place to find SOAP fault messages documented and what the reason/action text would be to go along with the messages? Our first attempt at using a self signed client certificate resulted in the SOAP fault:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>wsse:FailedAuthentication</faultcode>
      <faultstring>ERROR: Caught *XSECException*
      during operation: processMessage()</faultstring>

      <detail>
        <e:myfaultdetails
        xmlns:e="
http://www.ibm.com/software/htp/cics/wssec">
          <message>XSECKeyInfoResolverZos::extractUserId -
          Not authorized to use this service.</message>

          <errorcode>1</errorcode>
        </e:myfaultdetails>
      </detail>
    </SOAP-ENV:Fault>
How would a person debug that fault message when nothing is being logged on the mainframe in CICS or the SYSLOG?
46:56Is it possible to enable retrieving of the container DFHREQUEST after the “INVOKE WEBSERVICE” verb has been used (by application program)?
49:50Background:
We are on CICS TS V2.2 with the SOAP Feature installed. We are scheduled to install CICS TS V3.2 in the first quarter of 2009. All of the CICS Web services that I have written are service providers. The client applications are .NET. The CICS Web services parse the input XML message and generate the output XML message. We do not use WSDL. The .NET client sends a SOAP message without using a WDSL to the CICS Web service.

Question:
By changing the BTS input and output container names to the new CICS TS V3.2 container names for XML input and output, would our current Web services run without a WSDL and without the SOAP Feature being installed in CICS TS V3.2? What is the migration path for Web services written using the CICS SOAP Feature, without rewriting all of our current Web services?
52:45Seems like there is a limitation to the WEBSERVICE name (8 characters) if we choose to pre-define URIMAPs and WEBSERVICEs. The reason for this approach is to attach a different UserId with the URIMAP in test and production so that we do not have to generate 2 WSBIND files using RD/z. Do you always recommend pipeline scans? Your thoughts?
54:51I have a WSDL document that is rejected by DFHWS2LS.... What can I do?
1:00:58 I have a question about the XML parsing and zAPP engine. Will CICS be able to make use of that? One of our barriers to people wanting to use XML and SOAP is the the number of elements that are being parsed, so running them on the zAPP engine would help. I know that new COBOL will support running XML parsing on the zAPP engine. How will that support work with CICS SOAP?
1:02:53At debug time, how do we enable TCP monitor to see the SOAP envelope to be sent on the wire or received on the wire?
1:09:33Is the mapping information in the WSBIND file used at runtime?
1:13:06Does IBM have any recommendation for the HFS directory structure for the three artifact areas, the config, shelf, and WSDIR?
1:15:09When CICS is consuming a Web service, using INVOKE WEBSERVICE, other than specifying the location on the API command, is there a way to change the endpoint in a resource definition, or any other suggestions on how we might do that? Normally it picks up whatever is in the WSBIND file.
1:18:31 Open Mic Summary
1:19:06Closing remarks/End of Call

PanelistTitle
Paul Cooper Software Developer, CICS
Fraser Bohm Software Developer, CICS
Gary MazoSoftware Developer, RD/z
Mark PocockLevel3 Service Specialist, CICS
Charlie Wiese Level2 Support, CICS
Leigh ComptonAdvanced Technical Support, CICS
Dennis WeiandAdvanced Technical Support, CICS
Steve WebbKnowledge Engineer, CICS

Audio

Click on Download Audio to play the recording of this conference call (MP3 format). Right-click and select Save As to store the file on your local computer for later playback. Remember that you can fast forward to any question using the time index.


Related information
Webcasts for CICS Transaction Server and OMEGAMON
Beta and Early Test Programs

[{"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Web Services","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"3.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/TS CICS TS CICS Transaction Server

Document Information

Modified date:
17 June 2018

UID

swg27013267