# SOAP Envelop

The SOAP Envelope encapsulates the entire message structure to be transmitted. It consists of two main components:

1. **Header (Optional in SOAP, but required by RateGain)**
2. **Body (Mandatory)**

RateGain Enterprise Connectivity uses a **document-literal format** for its web services.

#### SOAP Header <a href="#soapenvelop-soapheader" id="soapenvelop-soapheader"></a>

The SOAP Header contains metadata essential for message processing, including:

* **Username and Password**: Corresponding to an account created on the RateGain Enterprise Connectivity customer portal (<https://portal.dhisco.com/portal/dt>).
  * This account must be enabled for HCD content retrieval requests via web services.
* **Action Code**
* **Transaction ID**

While SOAP allows the Header element to be optional, **RateGain Enterprise Connectivity mandates its inclusion** in every request. Additionally, the following elements are required in the SOAP Header:

* **ebXML:MessageHeader**: Contains detailed information about the message.
* **wsse:Security**: Ensures message-level security.

Clients must reference the associated schema files for these elements to determine the required structure, elements, and attributes. Links to these schema files are available for integration guidance.

<br>

* <http://www.oasis---open.org/committees/ebxml---msg/schema/msg---header---2_0.xsd>
* <http://schemas.xmlsoap.org/ws/2002/12/secext>

<br>

The following table illustrates specific values that should be present in these elements.

| **Element**    | **Attribute**                           | **/ O / C** | **Usage**            | **Description**                                                                           |
| -------------- | --------------------------------------- | ----------- | -------------------- | ----------------------------------------------------------------------------------------- |
| MessageHeader  | <p><br></p>                             | R           | <p><br></p>          | <p><br></p>                                                                               |
| <p><br></p>    | <p>SOAP---</p><p>ENV:mustUnderstand</p> | R           | <p>0</p><p>1</p>     | <p>Indicates “true” or</p><p>“false”</p>                                                  |
| <p><br></p>    | version                                 | R           | 2.0                  | Indicates the ebXML version                                                               |
| :From          | <p><br></p>                             | R           | <p><br></p>          | <p><br></p>                                                                               |
| PartyId        | <p><br></p>                             | R           | <p><br></p>          | Supplier Name                                                                             |
| To             | <p><br></p>                             | R           | <p><br></p>          | <p><br></p>                                                                               |
| PartyId        | <p><br></p>                             | R           | DHISCO               | <p><br></p>                                                                               |
| CPAId          | <p><br></p>                             | R           | ODDRetrieveInterface | The destination system                                                                    |
| ConversationId | <p><br></p>                             | R           | *some value*         | This value can be used by the client to group a set of transactions into a “conversation” |
| Service        | <p><br></p>                             | R           | ODDRetrieveInterface | The destination service                                                                   |
| <p><br></p>    | type                                    | R           | 1.0                  | Defines the version of the eb:Service element                                             |
| Action         | <p><br></p>                             | R           | RETRIEVE             | <p>Defines the action to be performed on the</p><p>property</p>                           |
| MessageData    | <p><br></p>                             | R           | <p><br></p>          | <p><br></p>                                                                               |
| MessageId      | <p><br></p>                             | R           | <p><br></p>          | Unique Record ID                                                                          |
| Timestamp      | <p><br></p>                             | R           | <p><br></p>          | <p><br></p>                                                                               |
| Security       | <p><br></p>                             | R           | <p><br></p>          | Defines the wsse Security element                                                         |
| UsernameToken  | <p><br></p>                             | R           | <p><br></p>          | Defines the UsernameToken element                                                         |
| <p><br></p>    | Username                                | R           | *user name*          | The client’s username will be defined by RG Enterprise Connectivity                       |
| <p><br></p>    | Password                                | R           | *password*           | The client’s password will be defined by RG Enterprise Connectivity                       |

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.rategain.com/content/content-retrieve/soap-http/soap-envelop.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
