<?xml version="1.0"?>
<!-- These are the examples for XSF XEP-0072: SOAP Over XMPP-->
<stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="en"><!-- Example 1-->
<iq from='requester@example.com/soap-client'
    to='responder@example.com/soap-server' 
    id='disco1'
    type='get'> 
  <query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>
    <!-- Example 2-->
<iq from='responder@example.com/soap-server' 
    to='requester@example.com/soap-client'
    id='disco1'
    type='result'> 
  <query xmlns='http://jabber.org/protocol/disco#info'>
    <identity category='automation' type='soap'/>
    <feature var='http://jabber.org/protocol/soap'/>
  </query>
</iq>
    <!-- Example 3-->
<iq from='requester@example.com/soap-client'
    id='soap1'
    to='responder@example.com/soap-server' 
    type='set'> 
  <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
    <env:Header>
      <m:reservation 
         xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:20:00.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger 
         xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
          <p:departing>New York</p:departing>
          <p:arriving>Los Angeles</p:arriving>
          <p:departureDate>2001-12-14</p:departureDate>
          <p:departureTime>late afternoon</p:departureTime>
          <p:seatPreference>aisle</p:seatPreference>
        </p:departure>
        <p:return>
          <p:departing>Los Angeles</p:departing>
          <p:arriving>New York</p:arriving>
          <p:departureDate>2001-12-20</p:departureDate>
          <p:departureTime>mid-morning</p:departureTime>
          <p:seatPreference/>
        </p:return>
      </p:itinerary>
      <q:lodging xmlns:q="http://travelcompany.example.org/reservation/hotels">
        <q:preference>none</q:preference>
      </q:lodging>
    </env:Body>
  </env:Envelope>  
</iq>
      <!-- Example 4-->
<iq type='result' to='requester@example.com/soap-client' id='soap1'>
  <error code='503' type='cancel'>
    <service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
  </error>
</iq>
      <!-- Example 5-->
<iq type='error' to='requester@example.com/soap-client' id='soap1'>
  <env:Envelope
       xmlns:env='http://www.w3.org/2003/05/soap-envelope'
       xmlns:rpc='http://www.w3.org/2003/05/soap-rpc'>
    <env:Body>
      <env:Fault>
        <env:Code>
          <env:Value>env:Sender</env:Value>
          <env:Subcode>
            <env:Value>rpc:BadArguments</env:Value>
          </env:Subcode>
        </env:Code>
        <env:Reason>
          <env:Text xml:lang='en-US'>Processing error</env:Text>
        </env:Reason>
      </env:Fault>
    </env:Body>
  </env:Envelope>
  <error code='500' type='modify'>
    <undefined-condition xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    <Sender xmlns='http://jabber.org/protocol/soap#fault'/>
  </error>
</iq>
      <!-- Example 6-->
<iq from='responder@example.com/soap-server' 
    id='soap1'
    to='requester@example.com/soap-client' 
    type='result'>
  <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
    <env:Header>
      <m:reservation xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:35:00.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itineraryClarification xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
          <p:departing>
            <p:airportChoices>JFK LGA EWR</p:airportChoices>
          </p:departing>
        </p:departure>
        <p:return>
          <p:arriving>
            <p:airportChoices>JFK LGA EWR</p:airportChoices>
          </p:arriving>
        </p:return>  
      </p:itineraryClarification>
    </env:Body>
  </env:Envelope>
</iq>
      <!-- Example 7-->
<iq from='requester@example.com/soap-client'
    id='soap2'
    to='responder@example.com/soap-server' 
    type='set'> 
  <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
    <env:Header>
      <m:reservation 
         xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:36:50.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
           <p:departing>LGA</p:departing>
        </p:departure>
        <p:return>
           <p:arriving>EWR</p:arriving>
        </p:return>
      </p:itinerary>
    </env:Body>
  </env:Envelope>
</iq>
      <!-- Example 8-->
<message from='requester@example.com/soap-client'
         id='soap2'
         to='responder@example.com/soap-server'>
  <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
    <env:Header>
      <m:reservation 
         xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:36:50.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
         <p:departing>LGA</p:departing>
        </p:departure>
        <p:return>
          <p:arriving>EWR</p:arriving>
        </p:return>
      </p:itinerary>
    </env:Body>
  </env:Envelope>
  <sipub xmlns='http://jabber.org/protocol/si-pub'
         id='publish-2345'
         mime-type='image/png'
         profile='http://jabber.org/protocol/si/profile/file-transfer'>
    <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
          name='me.png'
          size='4238'
          date='2005-11-01T23:11Z'/>
  </sipub>
</message>
      <!-- Example 9-->
<iq type='get'
    id='sipub-request-0'
    from='responder@example.com/soap-server'
    to='requester@example.com/soap-client'>
  <start xmlns='http://jabber.org/protocol/sipub'
         id='publish-2345'/>
</iq>
      <!-- Example 10-->
<iq type='result'
    id='sipub-request-0'
    from='requester@example.com/soap-client'
    to='responder@example.com/soap-server'>
  <starting xmlns='http://jabber.org/protocol/sipub'
            sid='session-87651234'/>
</iq>
    <!-- Example 11-->
<iq type='set'
    id='sipub-set-1'
    from='requester@example.com/soap-client'
    to='responder@example.com/soap-server'>
  <si xmlns='http://jabber.org/protocol/si'
      id='session-87651234'
        mime-type='image/png'
      profile='http://jabber.org/protocol/si/profile/file-transfer'>
    <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
          name='me.png'
          size='4238'
          date='2005-11-01T23:11Z'/>
  </si>
</iq>
      <!-- Example 12-->
<message from='requester@example.com/soap-client'
         id='soap2'
         to='responder@example.com/soap-server'>
  <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
    <env:Header>
      <m:reservation 
         xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:36:50.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
           <p:departing>LGA</p:departing>
        </p:departure>
        <p:return>
           <p:arriving>EWR</p:arriving>
        </p:return>
      </p:itinerary>
    </env:Body>
  </env:Envelope>
  <x xmlns='jabber:x:oob'>
    <url>http://example.org/me.png</url>
    <desc>John Q. Public</desc>
  </x>
</message>
      <!-- Example 13-->
<iq from='requester@example.com/soap-client'
    id='soap2'
    to='responder@example.com/soap-server' 
    type='set'> 
  <env:Envelope xmlns:env='http://www.w3.org/2003/05/soap-envelope' 
                xmlns:rep='http://www.w3.org/2004/08/representation' 
                xmlns:xmlmime='http://www.w3.org/2004/11/xmlmime'>
    <env:Header>
      <rep:Representation resource='http://example.org/me.png'>
        <rep:Data xmlmime:contentType='image/png'>/aWKKapGGyQ=</rep:Data>
      </rep:Representation>
      <m:reservation 
         xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:36:50.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
           <p:departing>LGA</p:departing>
        </p:departure>
        <p:return>
           <p:arriving>EWR</p:arriving>
        </p:return>
      </p:itinerary>
      <x:MyData xmlns:x='http://example.org/mystuff'>
        <x:name>John Q. Public</x:name>
        <x:img src='http://example.org/me.png'/>
      </x:MyData>
    </env:Body>
  </env:Envelope>
</iq>
      <!-- Example 14-->
<message from='requester@example.com/soap-client'
         id='soap2'
         to='responder@example.com/soap-server'>
  <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
                xmlns:rep="http://www.w3.org/2004/08/representation"
                xmlns:xmlmime="http://www.w3.org/2004/11/xmlmime">
    <env:Header>
      <rep:Representation resource='http://example.org/me.png'>
        <rep:Data xmlmime:contentType='image/png'>/aWKKapGGyQ=</rep:Data>
      </rep:Representation>
      <m:reservation 
         xmlns:m="http://travelcompany.example.org/reservation" 
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
        <m:dateAndTime>2001-11-29T13:36:50.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees"
         env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
         env:mustUnderstand="true">
        <n:name>Ake Jogvan Ovind</n:name>
      </n:passenger>
    </env:Header>
    <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
        <p:departure>
         <p:departing>LGA</p:departing>
        </p:departure>
        <p:return>
          <p:arriving>EWR</p:arriving>
        </p:return>
      </p:itinerary>
      <x:MyData xmlns:x='http://example.org/mystuff'>
        <x:name>John Q. Public</x:name>
        <x:img src='http://example.org/me.png'/>
      </x:MyData>
    </env:Body>
  </env:Envelope>
  <sipub xmlns='http://jabber.org/protocol/si-pub'
         id='publish-2345'
         mime-type='image/png'
         profile='http://jabber.org/protocol/si/profile/file-transfer'>
    <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
          name='me.png'
          size='4238'
          date='2005-11-01T23:11Z'/>
  </sipub>
  <x xmlns='jabber:x:oob'>
    <url>http://example.org/me.png</url>
    <desc>John Q. Public</desc>
  </x>
</message>
      <!-- Example 15-->
<definitions 
    name='ShakespeareTranslation' 
    targetNamespace='http://www.example.org/services/BabelFishService.wsdl'>
    xmlns='http://schemas.xmlsoap.org/wsdl/'
    xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
    xmlns:tns='http://shakespeare.lit/translation.wsdl'>
  
  <binding name='ShakespeareTranslationSoap' type='tns:TranslationPortType'>
    <soap:binding style='document' transport='http://jabber.org/protocol/soap'/>
    <operation name='Translate'>
      <input>...</input>
      <output>...</output>
    </operation>
  </binding>

  <service name='ShakespeareTranslationService'>
    <documentation>Translates Shakespearean text.</documentation>
    <port name='TranslationPort' binding='tns:ShakespeareTranslationSoap'>
      <soap:address location='xmpp:translation@shakespeare.lit'/>
    </port>
  </service>

</definitions>
    <!-- Example 16-->
<S:Envelope xmlns:S='http://www.w3.org/2003/05/soap-envelope'>
   <S:Header>
      <m:path xmlns:m='http://www.soap.org/path'>
         <m:action>http://im.example.org/chat</m:action>
         <m:to>http://C.example.net/some/endpoint</m:to>
         <m:forward>
            <m:via>xmpp:soapgw@B.example.org/soap</m:via>
         </m:forward>
         <m:reverse>
            <m:via/>
         </m:reverse>
         <m:from>xmpp:orig@A.example.com/soap</m:from>
         <m:id>uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6</m:id>
      </m:path>
   </S:Header>
   <S:Body>
      ...
   </S:Body>
</S:Envelope>
  </stream>

