You can deploy an Axis2 application as a provider mode web service in CICS®. These applications are typically generated using JAX-WS and can be
hosted in a Java™ enabled pipeline.
You might want
to deploy Java applications using this method for one of the
following reasons:
- You have existing investment using Axis2 Handler interfaces.
- You want to use a CICS pipeline configuration.
Important: Axis2 Java provider-mode web services are only supported with Axis2 JVM servers running Java 8.
Note: Axis2-style applications do not use the WEBSERVICE resources. They interact with
CICS using the Axis2 programming model and therefore cannot use
the some of the CICS web services support. The following
services are not fully supported for Axis2-style applications:
Before you begin
You must have a Java application that is suitable for
deployment in Axis2, for example a POJO application using JAX-WS. For this task, the following POJO
application is used as an example:
/**
* Simple example
*/
@javax.jws.WebService(targetNamespace = "com.ibm.cics.example", name = "pojoExample")
public class TestAxis2
{
public String getMessage(String input)
{
return "CICS got this: '" + input + "'";
}
}
This application specifies the XML namespace that is used to generate the WSDL, and a name to
associate with the web service.
The Java code for this application must be compiled, and
the JAX-WS generator run, to package the application into a jar file called
TestAxis2.jar . You can do this by issuing the following code:
javac TestAxis2.java
wsgen -cp . TestAxis2 -wsdl
jar -cvf TestAxis2.jar *
The JAX-WS generator also creates a WSDL document and the bindings used by Axis2.
About this task
To deploy an Axis2 web service you must create the pipeline infrastructure for your web services.
When you have created the pipeline, you can create your web services. You can reuse the created
pipeline for as many web services as you need. The following steps describe how to create the
pipeline and web services.
Note: No WEBSERVICE resource is created or installed as part of this task.
Procedure
-
Create the pipeline infrastructure.
-
Create a web service infrastructure for a Java pipeline.
For more information, see Creating the CICS infrastructure for a SOAP service provider.
-
Create an Axis2 repository.
To do this, create a copy of the supplied repository located in
$CICS_HOME/lib/pipeline/repository.
-
Add the
<repository> element to your pipeline configuration file. This
element must specify the name of the Axis2 repository that you created.
-
Create and enable a PIPELINE resource.
-
For each web service associated with the pipeline, repeat the
following steps to create the web service.
-
Deploy the Axis2 application to the Axis2 repository. For example, the jar file created in the
example must be deployed to a directory called
servicejars in the repository
directory. You must create this directory if it does not exist.
-
Define and install a URIMAP resource for the web service.
The URIMAP resource must specify the URI and PIPELINE resource
associated with the web service. The URI must follow the Axis2
naming conventions for URIs. The default Axis2 naming convention
is:
/
name_of_service
Service.
name_of_port
Port/
suffix
, where
name_of_service
is the name of the web service in the WSDL,
name_of_port
is the name of the port in the WSDL and
suffix
is an optional suffix that you can define. For the preceding
example, the following URIMAP resource could be used:
Urimap : EXAMPLE
Group : EXAMPLE
STatus : Enabled
USAge : Pipeline
SCheme : HTTP
POrt : No
HOST : *
PAth : /TestAxis2Service.pojoExamplePort/example/TestAxis2
TRansaction : CPIH
PIpeline : EXAMPLE
This example assumes that the PIPELINE resource used is called
EXAMPLE.
What to do next
Test that your web services run correctly.