Introduction
A webMethods Integration Server (IS) service is a user-defined Integration Server flow service that you can invoke in:
Request Processing steps, to preprocess the request message before it is submitted to the native service.
Response Processing steps, to preprocess the response message from the native service before it is returned to the consuming application.
A webMethods IS service must be running on the same Integration Server as webMethods Mediator. It can call out a C++ or Java or .NET function. It can also call other Integration Server services to manipulate the SOAP message.
The input pipeline for a webMethods IS service should have the following input variables:
proxy.name: This is the name of the virtual service.
SOAPEnvelope: Contains the SOAP envelope. This is of the Java type org.apache.axiom.soap.SOAPEnvelope.
EnvelopeString: Contains the SOAP envelope as a string.
Limitation: EnvelopeString will not be sent to IS services if a request uses the "MTOM" SOAP Optimization Method and if the Integration Server property watt.server.SOAP.MTOMStreaming.enable is set to true.
MessageContext:
Mediator will automatically place a MessageContext variable into the pipeline before executing the webMethods IS service call. MessageContext is of the Java type org.apache.axis2.context.MessageContext.
Integration Server users can use the Axis2 MessageContext object to manipulate the incoming SOAP request. The Integration Server provides built-in services (i.e., the pub.soap.* services) to work with the MessageContext object to get/set/modify the SOAP body, header, properties, etc. Integration Server users should use these services to extract the information they need from the MessageContext to build the necessary business logic. Users do not need to understand Axis2 or Axiom (the xml object model based on StAX) to work with the SOAP request, because if they are familiar with the Integration Server pub.soap services, they can accomplish most of the tasks. For more information about these related Integration Server services, see the webMethods Integration Server Built-In Services Reference .
You can use the following constructs in a webMethods IS service: