Determining the Operation for an HTTP/S Request
When Integration Server receives a web service request sent over HTTP/S, Integration Server uses the following process to identify the SOAP action and determine which operation (IS service) to invoke:
1. Integration Server uses the endpoint URL to determine which web service descriptor and which binder in that web service descriptor contain the operation to invoke. The endpoint URL for an operation in a WSDL document generated by Integration Server has the following format:
transport://host:port/ws/wsdName/portName
Where
transport is http or https
host:
port is the host and port on which the web service resides
ws is the directive that
Integration Server uses for web services
wsdName is the fully qualified name of the provider web service descriptor that contains the operation
portName is the name of the port in the WSDL document that contains the operation. In a WSDL document generated by
Integration Server, each port name corresponds to a binder in the web service descriptor.
2. Integration Server determines the SOAP action value:
For a SOAP 1.1 message,
Integration Server obtains the SOAP action value from the SOAPAction HTTP header in the SOAP message
For a SOAP 1.2 message,
Integration Server obtains the SOAP action value from the action attribute in the Content-Type header.
3. Integration Server determines which operation is associated with that SOAP action value.
If the SOAP action value is unique within the selected binder,
Integration Server invokes the service that corresponds to the operation with the assigned SOAP action value.
If
Integration Server cannot determine the operation to invoke using SOAP Action and WS-Addressing action,
Integration Server determines the operation to invoke by examining the fully qualified name (namespace name and local name) of the first element in the SOAP body. For more information about how
Integration Server resolves duplicate SOAP action values, see
Duplicate SOAP Action.