%SOAP.WebRequest
Class %SOAP.WebRequest Extends %SOAP.WebClient [ System = 3 ]
%SOAP.WebRequest is class to use XML document for SOAP request.
Parameters
SERVICENAME
Parameter SERVICENAME = "XMLBody";
Dummy service name when used to just send XML body
Properties
Request
Property Request As %RegisteredObject [ Internal ];
Request stream
Response
Property Response As %RegisteredObject [ Internal ];
Response stream
%RequestName
Property %RequestName As %String [ Internal ];
Dummy %RequestName
Methods
SendSOAPBody
Method SendSOAPBody(Action As %String, OneWay As %Boolean = 0, Request As %CharacterStream, ByRef Response, methodName As %String) As %Status
The SendSOAPBody() method of %SOAP.WebClient will send an XML document as the body of a SOAP request and return the response body as an XML document. The arguments to this method are:
- Action is the SOAPAction for the SOAP request.
- OneWay, which specifies whether a response is expected. If OneWay is 1 (true) then no response is expected.
- Request is the body of the SOAP request in the character set of the current locale.
- Response, which is returned by reference, will be set to the body of the SOAP response message either as a stream or %XML.Node. If Response is a character stream, the body of the SOAP response will be written in the character set of the current locale.
If Response is "", then a new character stream will be created and assigned to Response. If Response is an %XML.Node, then the %XML.Node will be set to point to the body DOM. - methodName is an optional name of the method being called which is used to select the WS-Policy.
The Location property of %WebClient must be set to the endpoint of the web service before SendSOAPBody is called.
Properties of %SOAP.WebClient such as HeadersIn, HeadersOut, Timeout, etc. may be used with the SendSOAPBody call.
ReturnResponse
Method ReturnResponse(document As %XML.Document, messageId As %String) As %Status [ Internal ]
Callback from %SOAP.WebClient to return the response body.
GetSoapParameters
ClassMethod GetSoapParameters(ByRef bindingStyle As %String, ByRef bodyUse As %String, ByRef namespace As %String, ByRef xmlimportnamespace As %String, ByRef typeNamespace As %String, ByRef oneWay As %Boolean, ByRef xmlelement As %Boolean, ByRef bare As %Boolean) [ Internal, ServerOnly = 1 ]
Return document/literal parameters for sending an XML body
WriteBody
Method WriteBody(proxy, tag) As %Status [ Internal, ServerOnly = 1 ]
WriteBody method is used internally as the callback to create the SOAP body