The SOAP Service Map is an xml configuration document that is used by the
wsSOAPServer
,
wsdlGenerator
and
wsDocumentation
accessors.
A SOAP Service Map is a master configuration for a group of SOAP services hosted on the NetKernel SOAP infrastrcuture.
It provides in one location the minimum set of information needed to map from an external SOAP endpoint and
port (also called SOAP action) to an internal NetKernel service which services the SOAP message.
The information contained in
the service map also represents the minimal necessary to generate a service description for a service and is used by
the wsdlGenerator and wsDocumentation accessors to create/locate WSDL and regular HTML documentation for a service.
Here is an example SOAPServiceMap document:
<SOAPServiceMap>
<service>
<name>Ping</name>
<endpoint>http://localhost:8080/soap/ping</endpoint>
<wsdl>ffcpl:/optional.wsdl</wsdl>
</service>
<port>
<name>Ping</name>
<type>doc</type>
<endpoint>http://localhost:8080/soap/ping</endpoint>
<action>urn:org:ten60:netkernel:ws:ping</action>
<int>active:dpml+operand@ffcpl:/expt/pingService.idoc</int>
<doc>ffcpl:/org/ten60/example/service/htmldocs/description.html</doc>
<messageIn>
<element>ping</element>
</messageIn>
<messageOut>
<schema>ffcpl:/expt/pingServiceOut.xsd</schema>
<element>ping</element>
</messageOut>
</port>
</SOAPServiceMap>
This document declares services and ports:
- <service> provides the service name and service endpoint URI.
- <port> provides the information for a given service port.
Any number of services may be specified and each service may have any number of ports
- ports are associated with services through the endpoint URI. Each port must have a
unique endpoint/action combination.
A service is specified with the following fields:
name |
the name of the service |
endpoint |
the endpoint URI matching the service endpoint |
wsdl |
An optional URI to the wsdl definition for the service. If this value isn't
specified an auto-generated definition is assumed. |
A port is specified with the following fields:
name |
the name of the port |
type |
either doc or rpc - currently only doc is supported |
endpoint |
the endpoint URI matching the service endpoint |
action |
the SOAP action URI |
int |
the internal URI to which SOAP service requests on this port will be passed |
doc |
the internal URI at which human readable documentation is located - this will be served
by the wsDocumentation accessor |
messageIn |
A container for a mandatory element field which provides the name of the root
element of the incoming message. An optional schema field may be used to
specifiy the URI to a custom schema for the message. |
messageOut |
A container for a mandatory element field which provides the name of the root
element of the outgoing message. An optional schema field may be used to
specifiy the URI to a custom schema for the message. |