Advanced Customization > Info*Engine User’s Guide > Web Services Framework > Writing an Info*Engine-based Web Service
  
Writing an Info*Engine-based Web Service
The methods for writing an Info*Engine-based web service have not changed since web services were first supported with Info*Engine release 7.0. The only area in which JAX-WS-based web services are now different is the support for SOAP with attachments. For more information, see Using SOAP Attachments.
In addition to writing an Info*Engine-based web service, you can write a Java-based web service. This is illustrated with released examples found in <Windchill>/prog_examples/jws, which is discussed in Truststores and Keystores.
An Info*Engine web service consists of a set of Info*Engine tasks, each representing a web service method that is associated with a type identifier. In the case of a web service, the type identifier is used simply as a way to logically group a set of Info*Engine tasks together to form a web service, and can be thought of as analogous to a Java class that exposes only static methods (each method being the Info*Engine task supporting the corresponding web service operation).
At runtime, Info*Engine requires that the type identifier and corresponding Info*Engine tasks be registered with the Info*Engine configuration in the LDAP. You can do this manually, but since the process can be involved and is potentially error prone, Info*Engine is released with Apache Ant tooling that packages and installs the Info*Engine tasks backing your web service. These utilities are integrated with the Apache Ant framework.
This section walks you through writing a simple Info*Engine task-based web service and client using the following steps:
1. Create a project (this is a simple directory structure) to hold your web service tasks and client source.
2. Write a few very basic tasks.
3. Secure and deploy your JAX-WS web service, which consists of deploying your Info*Engine tasks and corresponding servlet.
Before You Begin
Before you can complete the steps in this section, you must meet the following prerequisites:
All commands are assumed to be run from a windchill shell.
It is assumed that you have run the Apache Ant script documented earlier in Truststores and Keystores.
The example commands assume a Unix environment. If you are in a Windows environment, then you must alter the operating system-specific commands to suit your environment (for example, using \ rather than / in paths).