org.cybergarage.soap

## Class SOAPRequest

- java.lang.Object
- - org.cybergarage.http.HTTPPacket
  - - org.cybergarage.http.HTTPRequest
    - - org.cybergarage.soap.SOAPRequest

- Direct Known Subclasses:
    ControlRequest, NotifyRequest

      public class SOAPRequest
      extends HTTPRequest

  Represents a SOAP (Simple Object Access Protocol) request message.

  This class extends HTTPRequest to handle SOAP protocol messages used in UPnP control operations. It provides functionality for creating and parsing SOAP requests with proper XML formatting and SOAP action headers.

  Key features:

  - SOAP action header management
  - XML content parsing and generation
  - SOAP envelope and body handling
  - UTF-8 encoding support
  - HTTP protocol integration

  This class is used by UPnP control points to send action invocation requests to UPnP devices, enabling remote procedure calls through SOAP messaging over HTTP.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SOAPRequest()`
    `SOAPRequest(HTTPRequest httpReq)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Node` | `getBodyNode()`
    `Node` | `getEnvelopeNode()`
    `String` | `getSOAPAction()`
    `boolean` | `isSOAPAction(String value)`
    `SOAPResponse` | `postMessage(String host, int port)`
    `void` | `print()` Prints the HTTP request to the debug message stream.
    `void` | `setContent(Node node)`
    `void` | `setEnvelopeNode(Node node)`
    `void` | `setSOAPAction(String action)`

    - ### Methods inherited from class org.cybergarage.http.HTTPRequest

      `getFirstLineString, getHeader, getHTTPVersion, getLocalAddress, getLocalPort, getMethod, getParameterList, getParameterValue, getRequestHost, getRequestPort, getSocket, getURI, isGetRequest, isHeadRequest, isKeepAlive, isMethod, isNotifyRequest, isPostRequest, isSOAPAction, isSubscribeRequest, isUnsubscribeRequest, parseRequestLine, post, post, post, read, returnBadRequest, returnOK, returnResponse, set, setBindHost, setMethod, setRequestHost, setRequestPort, setSocket, setURI, setURI, toString`

    - ### Methods inherited from class org.cybergarage.http.HTTPPacket

      `addHeader, addHeader, clearHeaders, getCacheControl, getCharSet, getConnection, getContent, getContentInputStream, getContentLanguage, getContentLength, getContentRange, getContentRangeFirstPosition, getContentRangeInstanceLength, getContentRangeLastPosition, getContentString, getContentType, getDate, getFirstLine, getFirstLineToken, getHeader, getHeader, getHeaderString, getHeaderValue, getHost, getIntegerHeaderValue, getLongHeaderValue, getNHeaders, getServer, getStringHeaderValue, getStringHeaderValue, getTransferEncoding, getVersion, hasConnection, hasContent, hasContentInputStream, hasContentRange, hasFirstLine, hasHeader, hasTransferEncoding, init, isChunked, isCloseConnection, isKeepAliveConnection, read, set, set, set, set, setCacheControl, setCacheControl, setCacheControl, setConnection, setContent, setContent, setContent, setContent, setContentInputStream, setContentLanguage, setContentLength, setContentRange, setContentType, setDate, setHeader, setHeader, setHeader, setHeader, setHost, setIntegerHeader, setLongHeader, setServer, setStringHeader, setStringHeader, setTransferEncoding, setVersion`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SOAPRequest

          public SOAPRequest()

    - #### SOAPRequest

          public SOAPRequest(HTTPRequest httpReq)

  - ### Method Detail

    - #### getBodyNode

          public Node getBodyNode()

    - #### getEnvelopeNode

          public Node getEnvelopeNode()

    - #### getSOAPAction

          public String getSOAPAction()

    - #### isSOAPAction

          public boolean isSOAPAction(String value)

    - #### postMessage

          public SOAPResponse postMessage(String host,
                                          int port)

    - #### print

          public void print()

      Description copied from class: `HTTPRequest`
      Prints the HTTP request to the debug message stream.

      This method outputs the complete HTTP request including headers and content to the debug logging system using Debug.message(). Useful for debugging HTTP request processing.

      Overrides:
        `print` in class `HTTPRequest`

    - #### setContent

          public void setContent(Node node)

    - #### setEnvelopeNode

          public void setEnvelopeNode(Node node)

    - #### setSOAPAction

          public void setSOAPAction(String action)