To create the CICS® infrastructure
for a SOAP service provider, you must create a pipeline configuration
file and create a number of CICS resources.
Before you begin
If you want to use a Java™ pipeline,
ensure that a JVMSERVER resource
exists with the JAVA_PIPELINE=YES option specified in the JVM Profile.
A
JVM server can handle SOAP processing for many Java pipelines.
About this task
You can define the PIPELINE resource in a local CICS region using CICS or CICSPlex® SM
functions, or you can use the CICS Explorer® to define the PIPELINE resource either in a local CICS region or in a CICS bundle. When you use the CICS Explorer to define a PIPELINE
resource in a CICS bundle,
you also create the pipeline configuration file and package it in
the CICS bundle, so you do
not have to manage this file separately. PROGRAM resources and WEBSERVICE
resources can also be defined in CICS bundles.
When you define a WEBSERVICE resource in a CICS bundle, you can import a web service binding
file and a WSDL document or WSDL archive file and include these in
the bundle. You can also create URIMAP definitions to support the
web service and package these in a bundle. For more help with using
the CICS Explorer to
create and edit resources in CICS bundles,
see Working with bundles in the CICS Explorer product
documentation.
Procedure
- Define the transport infrastructure.
- If you are using the WebSphere® MQ
transport, you must define one or more local queues that store input
messages until they are processed, and one trigger process that specifies
the CICS transaction that will
process the input messages.
- If you are using the HTTP transport, you must define
a TCPIPSERVICE resource that defines the port on which inbound requests
are received.
- Optional: Repeat this step for each different
transport configuration you need.
- Define the message handlers and header processing programs
that you want to include in the pipeline configuration file to process
inbound web service requests, and their responses.
- Optional: If you want to perform your own processing
in the pipeline, you must create a message handler or header processing
program. See Message handlers for
details. If you decide to create custom message handler programs,
to optimize performance you must make them threadsafe.
- Create an XML pipeline configuration file containing your
message handlers, header processing programs, and application handler.
- CICS provides two basic
provider mode pipeline configuration file samples, basicsoap11provider.xml and basicsoap11javaprovider.xml.
- You can edit these samples, or add additional message handlers
as appropriate. The samples are provided in the library /usr/lpp/cicsts/cicsts53/samples/pipelines (where /usr/lpp/cicsts/cicsts53 is
the default install directory for CICS files
on z/OS® UNIX).
- For more information about options available in the pipeline configuration
file, see Pipeline configuration files
- Copy the pipeline configuration file to a suitable directory
in z/OS UNIX.
- Change the pipeline configuration file permissions to allow
the CICS region to read the
file.
- Repeat steps 5 through 7 for each different pipeline configuration
that you require.
- Create a PIPELINE resource.
- The PIPELINE resource defines the location of the pipeline configuration
file. It also specifies a pickup directory, which is
the z/OS UNIX directory that contains the web service
binding files and optionally the WSDL.
- Repeat this step for each different pipeline configuration.
- When you create a PIPELINE resource, CICS reads any files in the specified pickup
directory, and creates the WEBSERVICE resource
and URIMAP resource
dynamically.
- Unless you use autoinstalled PROGRAM definitions, create
a PROGRAM resource
for each program that runs in the pipeline. These include the target
application program, which normally runs under transaction CPIH. The
transaction is defined with the attribute TASKDATALOC(ANY).
Therefore, when you link-edit the program, you must specify the AMODE(31) option.
Results
Your CICS system now
contains the infrastructure needed for each service provider.
What to do next
You can extend the configuration when you need to do so,
either to define additional transport infrastructure, or to create
additional pipelines.