4.1 Binding Client and Server Example

The following example message sequence shows how the binding step is performed between a client and a server (section 3.4). All requests flow from the client to the server, and all responses flow from the server to the client. This example shows the following three request-response exchanges:

  • RequestSslCertificate (section 3.1.4.2)

  • RequestWmsControlCredentials (section 3.4.4.2)

  • SetSslCertificate (section 3.4.4.1)

        <!-- Client/Server Binding: RequestSslCertificate() Request -->
        <soap:Envelope xmlns:a=http://www.w3.org/2005/08/addressing
                       xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
          <soap:Header>
            <a:Action soap:mustUnderstand="1">http://MultiPoint/RemoteManagement/IMultiPointCertificateRequest/RequestSslCertificate</a:Action>
            <a:MessageID>urn:uuid:74b910ff-3f29-4c75-a4a5-8f7e9ada093f</a:MessageID>
            <a:To soap:mustUnderstand="1">http://SampleServer.microsoft.com:80/MultiPoint/IMultiPointCertificateRequest</a:To>
          </soap:Header>
          <soap:Body>
            <RequestSslCertificate xmlns="http://MultiPoint"/>
          </soap:Body>
        </soap:Envelope>
        
        
        <!-- Client/Server Binding: RequestSslCertificate() Response -->
        <soap:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
          <soap:Header>
            <a:Action soap:mustUnderstand="1">http://MultiPoint/RemoteManagement/IMultiPointCertificateRequest/RequestSslCertificateResponse</a:Action>
            <a:RelatesTo>urn:uuid:74b910ff-3f29-4c75-a4a5-8f7e9ada093f</a:RelatesTo>
          </soap:Header>
          <soap:Body>
            <RequestSslCertificateResponse xmlns="http://MultiPoint">
              <pSslPort>8443</pSslPort>
              <pwsSslCertificateThumbprint>70016EC72C20686AF4CC34488088A82E4D894BC1</pwsSslCertificateThumbprint>
              <ppSslCertificate>
                <prgData>48</prgData>
                <prgData>130</prgData>
                <prgData>3</prgData>
                <prgData>11</prgData>
                <prgData>48</prgData>
                <!--....................................... -->
                <!--.....ppSslCertificate BLOB TRIMMED..... -->
                <!--....................................... -->
                <prgData>26</prgData>
                <prgData>93</prgData>
                <prgData>8</prgData>
                <prgData>254</prgData>
                <prgData>255</prgData>
              </ppSslCertificate>
            </RequestSslCertificateResponse>
          </soap:Body>
        </soap:Envelope>
        
        
        <!-- Client/Server Binding: RequestWmsControlCredentials() Request -->
        <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
          <soap:Header>
            <a:Action soap:mustUnderstand="1">http://MultiPoint/RemoteManagement/IMultiPointCredentialRequest/RequestWmsControlCredentials</a:Action>
            <a:MessageID>urn:uuid:cd280096-8400-4a52-81d6-94fe31bcbd65</a:MessageID>
            <a:ReplyTo>
              <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
            </a:ReplyTo>
            <a:To soap:mustUnderstand="1">https://SampleServer.microsoft.com:8443/MultiPoint/IMultiPointCredentialRequest</a:To>
            <o:Security soap:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
              <o:UsernameToken u:Id="uuid-b60d59a5-17c3-461d-bc22-7740bbf28418-149">
                <o:Username>Administrator</o:Username>
                <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">]password</o:Password>
              </o:UsernameToken>
            </o:Security>
          </soap:Header>
          <soap:Body>
            <RequestWmsControlCredentials xmlns="http://MultiPoint"/>
          </soap:Body>
        </soap:Envelope>
        
        
        <!-- Client/Server Binding: RequestWmsControlCredentials() Response -->
        <soap:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
          <soap:Header>
            <a:Action soap:mustUnderstand="1">http://MultiPoint/RemoteManagement/IMultiPointCredentialRequest/RequestWmsControlCredentials</a:Action>
            <a:RelatesTo>urn:uuid:cd280096-8400-4a52-81d6-94fe31bcbd65</a:RelatesTo>
          </soap:Header>
          <soap:Body>
            <RequestWmsControlCredentialsResponse xmlns="http://MultiPoint">
              <pwsWmsControlPassword>]A /+&amp;{H|WehDf;w~B3?X?H$4Y&lt;=g#&amp;5</pwsWmsControlPassword>
            </RequestWmsControlCredentialsResponse>
          </soap:Body>
        </soap:Envelope>
        
        
        <!-- Client/Server Binding: SetSslCertificate () Request -->
        <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
          <soap:Header>
            <a:Action soap:mustUnderstand="1">http://MultiPoint/RemoteManagement/IMultiPointCredentialRequest/SetSslCertificate</a:Action>
            <a:MessageID>urn:uuid:a4864f84-b33e-4f64-8cc0-72092f52bf80</a:MessageID>
            <a:ReplyTo>
              <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
            </a:ReplyTo>
            <a:To soap:mustUnderstand="1">https://SampleServer.microsoft.com:8443/MultiPoint/IMultiPointCredentialRequest</a:To>
            <o:Security soap:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
              <o:UsernameToken u:Id="uuid-b60d59a5-17c3-461d-bc22-7740bbf28418-149">
                <o:Username>Administrator</o:Username>
                <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">]!!abc123</o:Password>
              </o:UsernameToken>
            </o:Security>
          </soap:Header>
          <soap:Body>
            <SetSslCertificate xmlns="http://MultiPoint">
              <wsHostName>SampleClient.microsoft.com</wsHostName>
              <SslPort>8443</SslPort>
              <wsSslCertificateThumbprint>B421AEF30063F6EC5AD980AF628669625262E07F</wsSslCertificateThumbprint>
              <pSslCertificate>
                <prgData>28</prgData>
                <prgData>230</prgData>
                <prgData>7</prgData>
                <prgData>21</prgData>
                <prgData>38</prgData>
                <!--...................................... -->
                <!--.....pSslCertificate BLOB TRIMMED..... -->
                <!--...................................... -->
                <prgData>36</prgData>
                <prgData>83</prgData>
                <prgData>14</prgData>
                <prgData>254</prgData>
                <prgData>255</prgData>
              </pSslCertificate>
            </SetSslCertificate>
          </soap:Body>
        </soap:Envelope>
        
        <!-- Client/Server Binding: SetSslCertificate() Response -->
        <soap:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
          <soap:Header>
            <a:Action soap:mustUnderstand="1">http://MultiPoint/RemoteManagement/IMultiPointCredentialRequest/SetSslCertificateResponse</a:Action>
            <a:RelatesTo>urn:uuid:a4864f84-b33e-4f64-8cc0-72092f52bf80</a:RelatesTo>
          </soap:Header>
          <soap:Body>
            <SetSslCertificateResponse xmlns="http://MultiPoint"/>
          </soap:Body>
        </soap:Envelope>