The Axis InvokeSoapWS Function Component (FC) is part of the TDI Web Services suite.
Due to limitations of the Axis library used by this component only WSDL (http://www.w3.org/TR/wsdl) version 1.1 documents are supported. Furthermore, the supported message exchange protocol is SOAP 1.1.
It is used to perform a web service call, given the input message for the call. It has no built-in SOAP parsing functionality and can be used with the Axis Soap To Java Function Component and Axis Java To Soap Function Component to provide a complete web service solution.
The InvokeSoapWS Function Component requires a complete SOAP request message. When called with a SOAP message the Function Component invokes the remote web service operation with this message. The Function Component returns the SOAP response message. The Function Component, however, does not perform any XML-Java binding (that is, the SOAP response message is not parsed) - the Function Component only returns the SOAP response message.
The InvokeSoapWS FC supports the HTTP basic authentication method. If username and password parameters are filled, then the "authorization" HTTP header field is set with the proper credentials (as specified in the HTTP specification for using HTTP basic authentication). Before sending the username and password, the FC encodes them. The encoding used is Base64 and is done internally by the InvokeSoapWS FC.
An Entry, a java.lang.String object, or an org.w3c.dom.Element object -
contains the complete SOAP request message.
If anything else is passed, an Exception is thrown.
If an Entry is passed to the FC and if the value of the Input
the SOAP message as FC parameter is String then the
SOAP request message must be stored in the "xmlString" Attribute
of that Entry. If an Entry is passed to the FC and if the
value of the Input the SOAP message as FC parameter is DOMElement then
the SOAP request message must be stored in the "xmlDOMElement"
Attribute.
If a non-Entry object (either String or Element) is passed
to the FC and if the value of the Input the SOAP message as FC
parameter is String then the SOAP request message must be
passed as a java.lang.String object. If a non-Entry object
(either String or Element) is passed to the FC and if the value of
the Input the SOAP message as FC parameter is DOMElement then
the SOAP request message must be passed as an org.w3c.dom.Element object.
An Entry object with 3 attributes - one for the whole SOAP
message, one for the SOAP Header and one for the SOAP Body. The SOAP
message, Body and Header will be either XML strings or DOM objects, as specified by the Return the SOAP message as parameter.
Refer to "Using the FC", next.
This Function Component makes a web service call by sending a SOAP
request message and receiving a SOAP response message.
WSDL 1.1 has four transmission primitives that a web service endpoint
can support:
WSDL refers to these transmission primitives as operations. (More
information on the subject can be found on: http://www.w3.org/TR/wsdl#_porttypes.)
The InvokeSoapWS Function Component supports only request-response and one-way web service operations. During the initialization
phase, the InvokeSoapWS FC reads the configured WSDL document and
checks whether the specified SOAP operation is one-way. If the operation
is not one-way, it is assumed to be request-response.
The following is a sample WSDL fragment, which describes a request-response
operation:
And the following sample WSDL fragment describes a one-way
operation:
One-way web service operations
do not involve a server response - the client sends a request
message but the server is not supposed to reply back (not even with
a fault message). That is why the InvokeSoapWS does not return a response
when invoking a one-way SOAP operation: If the 'perform' method of
the FC is passed an Entry argument (for example when the
FC is executed as a part of an AssemblyLine), the FC returns an empty Entry. If the 'perform' method of the FC is
passed a java.lang.Object (for example when the FC is executed by
a script), the FC returns null.
Axis EasyInvoke Soap WS Function Component
Function Component Output
Using the FC
One-way web service operation support
<operation name="myRequestResponseOperation"> <input message="myInputMessage"/>
<output message="myOutputMessage"/>
</operation>
<operation name="myOneWayOperation"> <input message="myInputMessage"/>
</operation>
See also