如何构建从VMware SSO服务器获取SAML令牌的正确请求?

时间:2017-02-03 14:53:22

标签: soap single-sign-on vmware saml

我拥有VMware SSO服务器的凭据。我尝试发送SOAP请求以从服务器获取SAML令牌:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns="http://docs.oasis-open.org/ws-sx/ws-trust/200512"
    xmlns:oas1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:urn="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:xd="http://www.w3.org/2000/09/xmldsig#"
    xmlns:sam="http://www.rsa.com/names/2009/12/std-ext/SAML2.0"
    xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
    xmlns:ns1="http://docs.oasis-open.org/ws-sx/ws-trust/200802"
    xmlns:add="http://www.w3.org/2005/08/addressing"
    xmlns:adv="http://www.rsa.com/names/2009/12/std-ext/WS-Trust1.4/advice">
    <soapenv:Header>
        <wsse:Security
          xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsu:Created>2017-01-24T20:03:20.344Z</wsu:Created>
                <wsu:Expires>2017-01-30T20:03:20.344Z</wsu:Expires>
            </wsu:Timestamp>
            <wsse:UsernameToken>
                <wsse:Username>username</wsse:Username>
                <wsse:Password>password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
        <ns:RequestSecurityToken>
            <ns:TokenType>urn:oasis:names:tc:SAML:2.0:assertion</ns:TokenType>
            <ns:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</ns:RequestType>
            <ns:Lifetime>
                <oas1:Created>2017-01-24T20:03:20.344Z</oas1:Created>
                <oas1:Expires>2017-01-30T20:03:20.344Z</oas1:Expires>
            </ns:Lifetime>
            <ns:Renewing Allow="false" OK="true"/>
            <ns:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</ns:KeyType>
            <ns:SignatureAlgorithm>http://www.w3.org/2001/04/xmldsig-more#rsa-sha256</ns:SignatureAlgorithm>
        </ns:RequestSecurityToken>
    </soapenv:Body>
</soapenv:Envelope>

但是我收到了这样的错误消息:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
         <faultcode>S:Server</faultcode>
         <faultstring>org.xml.sax.SAXParseException</faultstring>
      </S:Fault>
   </S:Body>
</S:Envelope>

有人能解释我在SOAP请求中的错误吗?

0 个答案:

没有答案