Java Apache Axis2 web services client examples advanced
Summarize
Summary of Java Apache Axis2 Web Services Client Examples Advanced
This content provides examples for system administrators on how to construct and utilize an Apache Axis2 client for consuming ServiceNow Web Services. It highlights essential prerequisites and step-by-step instructions tailored for users with a basic understanding of Java.
Show less
Key Features
- Environment Requirements: Java JDK version 1.4.2 or higher and Axis2 version 1.0 or higher are necessary.
- Project Creation: Use Eclipse SDK (recommended version 3.4.2) to create a new Java project and configure the appropriate JRE.
- Code Generation: Run the wsdl2java command to generate client code, specifying the WSDL URI and output path.
- Basic Authentication: Set up basic authentication for accessing the ServiceNow API.
- Chunking Support: Disable HTTP chunking as ServiceNow does not support it, either at deployment or runtime.
- Unique Package Creation: Use the namespace2package parameter to create unique package names when generating client code.
Key Outcomes
By following these guidelines, ServiceNow customers can efficiently set up an Axis2 client to interact with their web services. This enables seamless integration and enhances the ability to automate processes and manage incidents effectively.
Examples showing how to construct and use an Axis2 client to consume a ServiceNow Web Service.
Axis is essentially a SOAP engine -- a framework for constructing SOAP processors such as clients, servers, or gateways. The current version of Axis is written in Java. This content is intended for system admins with a light development background in Java. To begin you would need Java JDK version 1.4.2 or higher and Axis2 version 1.0 or higher.
Create a Java Project
- Open Eclipse and from the menu select .
- Give the project a name.
- Verify that the correct JRE is specified.
- If using wsdl2java run "java -version" on the command line and this will be the version to specify for the project specific JRE.
- If using the Axis2 Codegen plugin use default JRE.
Figure 1. Java Project
Generate your Axis2 client code
- From a command line in the bin directory of the axis
folder:
./wsdl2java.sh -uri https://<instance name>.service-now.com/incident.do?WSDL -o /glide/workspace/TestWebService/ - In the above example:
- The "-uri" is either the path where you have saved a copy of the wsdl to either ".wsdl" or ".xml", or the URL the WSDL resides at.
- The "-o" is the path where you want the files to be written out to. If not specified, the files will be written out to the current bin location.
- In Eclipse refresh the project and the generated Stub and CallbackHandler should now be
displayed
Figure 2. Axis Stub
Basic Authentication
HttpTransportProperties.Authenticator basicAuthentication = new HttpTransportProperties. Authenticator ( ) ;
basicAuthentication. setUsername ( "admin" ) ;
basicAuthentication. setPassword ( "admin" ) ;
...
ServiceNowStub proxy = new ServiceNowStub ( ) ;
...
proxy._getServiceClient ( ). getOptions ( ). setProperty (org. apache. axis2. transport. http. HTTPConstants. AUTHENTICATE, basicAuthentication ) ;
Compatibility with Axis2 Versions 1.1 and higher
- Deployment time: One can disable HTTP chunking by removing or commenting out the following
element from
Axis2.xml
<parameter name= "Transfer-Encoding" >chunked</parameter> - Runtime: User can disable the chunking using following property set in Client or Stub,
versions 1.1.1 and higher
only
options.setProperty (org. apache. axis2. transport. http. HTTPConstants. CHUNKED, Boolean. FALSE ) ;
Creating Unique Packages
<Axis path>\bin\wsdl2java.bat -u -p cr2 -ns2p <namespace>=<package name> -uri <wsdl to convert><Axis path>\bin\wsdl2java.bat -u -p cr2 -ns2p http://www.service-now.com/change_request=my.change_request -uri change_request