Skip to main content

Overriding the HTTP SOAP Action and Request Message Name

When you invoke a web method via HTTP, the HTTP headers must include the SOAP action, which is a URI that indicates the intent of the SOAP HTTP request. For SOAP 1.1, the SOAP action is included as the SOAPAction HTTP header. For SOAP 1.2, it is included within the Content-Type HTTP header.

The SOAP action indicates the intent of the SOAP HTTP request. The value is a URI identifying the intent; it is generally used to route the inbound SOAP message. For example, a firewall could use this header to appropriately filter SOAP request messages in HTTP.

For a web method in an InterSystems IRIS® data platform web service, the SOAPAction HTTP header has the following form by default (for SOAP 1.1):

SOAPAction: NAMESPACE/Package.Class.Method

Where NAMESPACE is the value of the NAMESPACE parameter for the web service, and Package.Class.Method is the name of the method that you are using as a web method. For example:

SOAPAction: http://www.myapp.org/GSOAP.WebService.GetPerson

To override this, specify a value for the SoapAction method keyword, within the definition of the web method. Specify a quoted string that indicates that identifies the intent of the SOAP request. In the typical scenario, each web method in the web service specifies a unique value (if any) for SoapAction.

If SoapAction is not unique within this web service, each method must have a unique value of the SoapRequestMessage method keyword. This keyword specifies the name of the top element in the SOAP body of the request message. Note that SoapRequestMessage has an effect only for wrapped document/literal messages.

FeedbackOpens in a new tab