Context Document

The contents of the context document are described by the following XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:c="http://www.tibco.com/schemas/asg/context"
targetNamespace="http://www.tibco.com/schemas/asg/context"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="context">
<xs:complexType>
<xs:sequence>
<xs:element ref="c:entry" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="entry">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##any" processContents="lax"/>
</xs:sequence>
<xs:attribute name="key" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="key">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>

If the incoming request is received from Apache HTTP server, the context document contains an entry with key set to asg:httpRequest, which conforms to the following XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.tibco.com/asg/protocols/http"
targetNamespace="http://www.tibco.com/asg/protocols/http"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="request">
<xs:complexType>
<xs:sequence>
<xs:element name="server-ip" type="xs:string" minOccurs="0"/>
<xs:element name="server-port" type="xs:string"
minOccurs="0"/>
<xs:element name="client-ip" type="xs:string" minOccurs="0"/>
<xs:element name="client-port" type="xs:string"
minOccurs="0"/>
<xs:element name="scheme" type="xs:string" minOccurs="0"/>
<xs:element name="method" type="xs:string" minOccurs="0"/>
<xs:element name="request-uri" type="xs:string"
minOccurs="0"/>
<xs:element name="protocol-version" type="xs:string"
minOccurs="0"/>
<xs:element name="header" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name"
type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="body" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>