Skip to main content

%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