Using the CICS® web
services assistant, you can create a service provider application
from a high-level language data structure.
Before you begin
Before you create a service provider application, make sure
that these preconditions have been completed:
- Your high-level language data structures must meet the following
criteria:
- The data structures you process depend on whether you are using
a wrapper program:
- If you are using a wrapper program, the copybook is the interface
to the wrapper program.
- If you are not using a wrapper program, the copybook is the interface
to the business logic.
- The language structures must be available in a partitioned data
set and you must create a suitable PIPELINE resource in the CICS region:
- You must define to OMVS the user ID under which DFHLS2WS runs.
- The user ID must have read permission to z/OS® UNIX and
PDS libraries and write permission to the directories specified on
the LOGFILE, WSBIND, and WSDL parameters.
- The user ID must have a sufficiently large storage
allocation to run Java™. You
can use any supported version of Java.
By default, DFHLS2WS uses the Java version
specified in the JAVADIR parameter.
Procedure
Follow these steps to create a service provider application
from a data structure:
- If the service provider application interface
uses channels and many containers, create a channel description document
that describes the interface in XML. You must put the channel description
document in a suitable directory on z/OS UNIX.
CICS uses this document to construct and deconstruct
a SOAP message from the containers on a channel. Alternatively, you
can use one container on a channel and not create a channel description
document.
- Use the DFHLS2WS batch program to generate a web
service binding file and web service description from the language
structure.
DFHLS2WS contains a large set of optional parameters
that provide you with flexibility to create the binding file and language
structures that your application requires. Consider these options
when web service enabling an existing application:
- Which mechanism will CICS use
to pass data to the service provider application program?
- You can use channels and pass the data in containers or use a
COMMAREA. Specify the mechanism using the PGMINT parameter.
If your application interface uses channels and many containers, specify
the REQUEST-CHANNEL parameter and optionally
the RESPONSE-CHANNEL. You can only use these
parameters when the mapping level is 3.0 or higher.
- Which level of web service description (WSDL document)
do you want to generate?
- CICS generates descriptions
that comply with either WSDL 1.1 or WSDL 2.0 documents. If you want
the service provider application to support requests that comply with
both levels of WSDL, specify values for the WSDL_1.1 and WSDL_2.0 parameters.
Ensure that the file names are different when using more than one
WSDL parameter. This specification produces two web service descriptions
and a binding file.
- Which version of the SOAP protocol do you want to
use?
- You can specify the version with the SOAPVER parameter.
You are recommended to use the ALL value, which gives
the flexibility to use either SOAP 1.1 or SOAP 1.2 as the binding
for the web service description, although you must install the web
service into a pipeline that is configured with the SOAP 1.2 message
handler. You can use this parameter only when the MINIMUM-RUNTIME-LEVEL is
2.0 or higher.
- Which mapping level do you want to use?
- The higher the mapping level, the more control and support you
have available for the handling of character and binary data at run
time. Some optional parameters are available only at the higher mapping
levels. You are recommended to specify the highest level of mapping
available in the MAPPING-LEVEL parameter.
- Which URI do you want the web service requester to
use?
- Specify an absolute URI using the URI parameter;
for example, URI=http://www.example.org:80/my/test/webservice.
The relative part of this address, /my/test/webservice,
is used when creating the URIMAP resource. The full URI is used as
the<soap:address> element in the web service
description. This usage is true for both HTTP and WebSphere® MQ URIs.
- Do you want to publish your WSDL document
to an IBM® WebSphere Service Registry and Repository
(WSRR)?
- If you intend to publish your WSDL document
on a WSRR server, do you want to do so using a secure connection?
- When you submit DFHLS2WS, CICS generates
the web service binding file and places it in the location that you
specified with the WSBIND parameter. The generated
web service description is placed in the location that you specified
with the WSDL, WSDL_1.1,
or WSDL_2.0 parameter.
- If you have used the WSRR parameters in DFHLS2WS,
your WSDL document is published to the WSRR server that you specified.
- Review the generated web service description and
perform any necessary customization.
- Copy the web service binding file to the pickup directory
of the provider mode pipeline that you want to use for your web service
application.
You must copy the web service binding file
in binary mode.
- Optional: Copy the web service description
or the archive file containing one or more web service descriptions
to the same directory as the web service binding file.
The
archive file must be a .zip file and the file name must match the
WSDL file name. With this copy, you can discover the WSDL.
- Use the PIPELINE SCAN command to dynamically
create the WEBSERVICE resource and two URIMAP resources.
The
WEBSERVICE resource encapsulates the web service binding file in CICS and is used at run time.
- The first URIMAP resource provides CICS with the information to associate the WEBSERVICE
resource with a specific URI.
- The second URIMAP resource provides CICS with the information to associate the WSDL
archive file or WSDL document with a specific URI.
- This URI has the same path as the URI associated with the WEBSERVICE
with the suffix ?wsdl appended.
- This URIMAP resource is created so that external requesters can
use the URI to discover the WSDL archive file or WSDL document.
- This URIMAP resource is created only if the web service description
or the archive file containing one or more web service descriptions
has been copied to the same directory as the web service binding file.
- If the pickup directory contains a WSDL archive file and a WSDL
document, the URI returns only the WSDL in the archive file.
- This function is only available for web services installed using
the pipeline scan operation.
Alternatively, you can define the resources yourself, although
this is not recommended.
Results
When you have successfully created the CICS resources, the creation of your service
provider application is complete. If you have any problems submitting
DFHLS2WS, or the resources do not install correctly, see Diagnosing deployment errors.
What to do next
Make the web services description available to anyone who
needs to develop a web service requester that will access your service.