The HTTP-SOAP Protocol Adapter ([com.fs.jlo.adapters.httpsaop.HttpSoapAdapter]) provides SOAP-over-HTTP communication.
The HTTP-SOAP Protocol Adapter is a PXE Service Provider whose function is to relay message between a SOAP "stack" and the PXE container. It thereby permits PXE services to invoke — or to be invoked by — external (non-PXE) web services using the SOAP-over-HTTP protocol. This service provider
PXE services deployed on this protocol adapter behave as proxies.
Contrary to what one might expect, this service provider does not actually implement an HTTP "server". Instead it relies on an external SOAP stack to relay messages to it through its [JCA interface ]. This facilitates efficient integration into existing SOAP processing pipelines and permits leveraging the capabilities of the SOAP stack in the areas such as security, addressing, and management. For integration with a Servlet-based HTTP server, a Servlet ([HttpSoapServlet]) that performs the relaying function is included.
This service provider conforms to the WS-I Basic Profile 1.1 specification and will only permit communication with other compliant implementations.
The [HttpSoapAdapter] service provider implementation does not define any configuration properties.
The following properties should be in the web.xml (or otherwise configured) for the web application containing the servlet:
| Property | Required? | Description |
|---|---|---|
| ConnectionFactoryName | Yes, unless ConnectionProperties is set | The JNDI name of the [PxeConnectionFactory] for communicating with the PXE domain and the HTTP-SOAP Protocol Adapter. This property should be used if PXE's resource-adapter is deployed in a JCA container (JCA in container-managed mode). |
| ConnectionProperties | Yes, unless ConnectionFactoryName is set | A set of ';'-separated properties in name=value format used to configure a [PxeManagedConnectionFactory] for communcication with the PXE domain and the HTTP-SOAP Protocol Adapter. This property should be used if PXE's resource-adapter is not deployed in a JCA container (JCA in non-managed mode). |
| InvokeTimoutMs | No | The maximum amount of time (in milliseconds) to wait for a request/response operation to complete. If not specified, the default value is 30 seconds (30,000 milliseconds). The timeout can also be specified via a querystring parameter ?timeout=x on the URL where x is the number of seconds to wait. |
| ServiceProviderURI | Yes | The service provider URI of the HTTP-SOAP Protocol Adapter instance to with which the Servlet will communicate. |
When deploying a service within this service provider it is necessary to identify the WSDL <service> that the deployed service will be "implementing". This is critical, as the binding information required to properly parse the incoming SOAP messages as well as to generate the proper SOAP responses is referenced in this WSDL declaration. The name and location of the WSDL service declaration can be specified by using the deployment properties concreteWsdlUrl, serviceWsdlNamespace and serviceWsdlName. These are described in the following section.
| Property | Required? | Description |
|---|---|---|
| concreteWsdlUrl | No | The URI of the WSDL document that declares this <service>>. The URI is resolved against the system's resource repository. If left unspecified, the service provider will instead attempt to find the service declaration in the system WSDL. |
| serviceWsdlNamespace | No | The namespace of the WSDL <service> being deployed. If left unspecified, the target namespace of the operative WSDL document is assumed. |
| serviceWsdlName | No | The local name of the WSDL <service>> being deployed. If left unspecified, the name of this service (from the system deployment descriptor) is assumed. |
Each deployed service must import exactly one port whose portType matches the portType of the HTTP/SOAP WSDL <port> decalred in the WSDL <service> declaration. There are no port-level properties.
