Dela via


Metadatamappning

Innehållet i ett metadatadokument mappas till metadata-API:et på det sätt som beskrivs i följande avsnitt.

Följande namnområdesprefix används i den här dokumentationen:

wsdl   => http://schemas.xmlsoap.org/wsdl/
soap11 => http://schemas.xmlsoap.org/wsdl/soap/
soap12 => http://schemas.xmlsoap.org/wsdl/soap12/
wsa09  => http://schemas.xmlsoap.org/ws/2004/08/addressing
wsa10  => http://www.w3.org/2005/08/addressing
wsa09p => http://schemas.xmlsoap.org/ws/2004/08/addressing/policy
wsa10p => http://www.w3.org/2006/05/addressing/wsdl
binp   => http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1
mtomp  => http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization
sp     => http://schemas.xmlsoap.org/ws/2005/07/securitypolicy
wsp    => http://schemas.xmlsoap.org/ws/2004/09/policy
netf   => http://schemas.microsoft.com/ws/2006/05/framing/policy
httpp  => http://schemas.microsoft.com/ws/06/2004/policy/http
wst10  => http://schemas.xmlsoap.org/ws/2005/02/trust
wsi    => http://schemas.xmlsoap.org/ws/2005/05/identity

Följande avsnitt beskriver API-konstruktioner tillsammans med vilka metadatakonstruktioner (WSDL eller princip) de motsvarar.

Kunskaper om metadataspecifikationer som WSDL och Policy hjälper dig att förstå det här avsnittet.

Slutpunktsadress

Adressen till en slutpunkt (se WS_ENDPOINT_ADDRESS) hämtas från ett utökningselement i WSDL:port-elementet i WSDL-dokumentet. Följande utökningselement stöds för att ange adressen:

<wsdl:port...>
    <soap11:address.../>
</wsdl:port>
<wsdl:port...>
    <soap12:address.../>
</wsdl:port>
<wsdl:port...>
    <wsa09:EndpointReference.../>
</wsdl:port>
<wsdl:port...>
    <wsa10:EndpointReference.../>
</wsdl:port>

WS_CHANNEL_BINDING

Kanalbindningen (se WS_CHANNEL_BINDING) bestäms av transporten av den tvålbindning som används enligt följande:

<soap:binding transport=&quot;http://schemas.microsoft.com/soap/tcp&quot;/> => WS_TCP_CHANNEL_BINDING
<soap:binding transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/> => WS_HTTP_CHANNEL_BINDING

WS_CHANNEL_PROPERTY_ENVELOPE_VERSION

Kuvertversionen (se WS_CHANNEL_PROPERTY_ENVELOPE_VERSION) bestäms av vilken tvålbindning som används enligt följande:

<wsdl:binding...>
    <soap11:binding.../> => WS_ENVELOPE_VERSION_SOAP_1_1
</wsdl:binding>
<wsdl:binding...>
    <soap12:binding.../> => WS_ENVELOPE_VERSION_SOAP_1_2
</wsdl:binding>

Adresseringsversion

Adresseringsversionen (se WS_CHANNEL_PROPERTY_ADDRESSING_VERSION) bestäms av följande påståenden i slutpunktsprincipen:

<wsp:Policy...>
    <wsa09p:UsingAddressing.../> => WS_ADDRESSING_VERSION_0_9
</wsp:Policy>
<wsp:Policy...>
    <wsa10p:UsingAddressing.../> => WS_ADDRESSING_VERSION_1_0
</wsp:Policy>

Om det inte finns något adresspåstående, antas WS_ADDRESSING_VERSION_TRANSPORT.

Meddelandekodning

Kodningen av meddelandet (se WS_CHANNEL_PROPERTY_ENCODING) bestäms av följande påståenden i slutpunktsprincipen:

<wsp:Policy...>
    <binp:BinaryEncoding.../> => WS_ENCODING_XML_BINARY_SESSION_1, WS_ENCODING_XML_BINARY_1
</wsp:Policy>

Observera att försäkran om binär kodningsprincip inte innehåller information om huruvida den binära kodningen är sessionskänslig eller sessionslös. Detta bestäms av begränsningen för kodningsegenskapen (vilket bör vara lämpligt beroende på om den WS_CHANNEL_TYPE som används är sessionskänslig eller inte).

<wsp:Policy...>
    <mtomp:OptimizedMimeSerialization.../> => WS_ENCODING_XML_MTOM_UTF8, WS_ENCODING_XML_MTOM_UTF16LE, WS_ENCODING_XML_MTOM_UTF16BE
</wsp:Policy>

Om inget av ovanstående påståenden finns används en textkodning: WS_ENCODING_XML_UTF8, WS_ENCODING_XML_UTF16LE, WS_ENCODING_XML_UTF16BE.

Observera att principen inte innehåller information om teckenuppsättningen för MTOM- eller textkodningar (oavsett om det är UTF8, UTF16LE eller UTF16BE). Det faktiska teckenuppsättningsvärdet som används bestäms av begränsningen för kodningsegenskapen.

Begränsningar med HTTP-huvudautentisering

Det här avsnittet gäller när begränsningen för WS_HTTP_HEADER_AUTH_SECURITY_BINDING_CONSTRAINT säkerhetsbindning har angetts.

Den här säkerhetsbindningen anges i principen av olika intyg som anger både att HTTP-huvudautentisering ska användas och att ett visst autentiseringsschema ska användas. Principuttrycken motsvarar värdena för WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME enligt följande:

<wsp:Policy...>
    <httpp:BasicAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_BASIC
</wsp:Policy>
<wsp:Policy...>
    <httpp:NegotiateAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE
</wsp:Policy>
<wsp:Policy...>
    <httpp:NtlmAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_NTLM
</wsp:Policy>
<wsp:Policy...>
    <httpp:DigestAuthentication.../> => WS_HTTP_HEADER_AUTH_SCHEME_DIGEST
</wsp:Policy>

Begränsningar med SLL Transport Security

Det här avsnittet gäller när begränsningen för WS_SSL_TRANSPORT_SECURITY_BINDING_CONSTRAINT säkerhetsbindning har angetts. Följande policypåståenden används i det här fallet:

<wsp:Policy...>
    <sp:TransportBinding...>
        <wsp:Policy...>
            <sp:TransportToken...>
                <wsp:Policy...>
                    <sp:HttpsToken.../>
            </wsp:Policy...>
        </wsp:Policy>
    </sp:TransportBinding...>
</wsp:Policy>

Begränsningar med SSPI Transport Security

Det här avsnittet gäller när begränsningen för WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_CONSTRAINT säkerhetsbindning har angetts. Följande policyuttryck används i detta fall:

<wsp:Policy...>
    <sp:TransportBinding...>
        <wsp:Policy...>
            <sp:TransportToken...>
                <wsp:Policy...>
                    <netf:WindowsTransportSecurity.../>
            </wsp:Policy...>
        </wsp:Policy>
    </sp:TransportBinding...>
</wsp:Policy>

Begränsningar med transportsäkerhet

Den WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL egenskapsbegränsningen kan anges om någon av säkerhetsbindningsbegränsningarna är specificerade.

Begränsningar med Kerberos APREQ-säkerhetsbindning

Det här avsnittet gäller när säkerhetsbindningsbegränsningen WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT har angetts. Följande policyförklaringar används i det här fallet:

<sp:EndorsingSupportingTokens...>
    <wsp:Policy>
        <sp:KerberosToken>
            <WssGssKerberosV5ApReqToken11.../>
        </sp:KerberosToken>
    </wsp:Policy>
</sp:EndorsingSupportingTokens>

Begränsningar med meddelandesäkerhetsbindning

Det här avsnittet gäller när begränsningen för WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT säkerhetsbindning har angetts. Följande princippåståenden används i det här fallet:

<sp:SignedSupportingTokens>
    <wsp:Policy>
        <sp:UsernameToken.../>
    </wsp:Policy>
</sp:SignedSupportingTokens>

WS_CERT_MEDDELANDE_SÄKERHET_BINDANDE_BEGRÄNSNING

Det här avsnittet gäller när begränsningen för WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT säkerhetsbindning har angetts. Följande policysatser används i det här fallet:

<sp:EndorsingSupportingTokens>
    <wsp:Policy>
        <sp:X509Token.../>
   </wsp:Policy>
</sp:EndorsingSupportingTokens>

WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT

Det här avsnittet gäller när begränsningen för säkerhetsbindningen WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT har angetts. Följande policykrav används i det här fallet:

<sp:EndorsingSupportingTokens...>
    <wsp:Policy>
        <sp:IssuedToken sp:IncludeToken=&quot;xs:anyURI&quot;? ...=&quot;&quot; >
            <wsp:Issuer>...</wsp:Issuer>?
            <wsp:RequestSecurityTokenTemplate TrustVersion='xs:anyURI&quot;?>
                ...
                <wst10:Claims>
                    <wsi:ClaimType Optional='xs:boolean'?>xs:anyURI<wt:ClaimType>*
                </wst10:Claims>
                ...
            </wsp:RequestSecurityTokenTemplate>
            <wsp:Policy>
                <sp:RequireDerivedKeys/> ?
                <sp:RequireExternalReference/> ?
                <sp:RequireInternalReference/> ?
            </wsp:Policy> ?
        </sp:IssuedToken>
    </wsp:Policy>
</sp:EndorsingSupportingTokens>

Följande beskriver mappningen av fälten i WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT till principen ovan:

  • Fältet claimConstraints används för att verifiera uppsättningen med anspråkstyp-URI:er som visas i elementet wsi:ClaimType ovan.

  • Fältet issuerAddress motsvarar elementet wsp:Issuer ovan, vilket är WS_ENDPOINT_ADDRESS för tjänsten som kan utfärda token.

  • Fältet requestSecurityTokenTemplate motsvarar de underordnade elementen i elementet wsp:RequestSecurityTokenTemplate.

WS_SÄKERHETS_KONTEXT_MEDDELANDE_SÄKERHETS_BINDNINGS_KRAV

Det här avsnittet gäller när begränsningen för WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT säkerhetsbindning har angetts. Följande policypåståenden används i det här fallet:

<sp:EndorsingSupportingTokens...>
    <wsp:Policy>
        <sp:SecureConversationToken sp:IncludeToken=&quot;xs:anyURI&quot;? ...=&quot;&quot; >
            <wsp:Issuer>...</wsp:Issuer>?
            <wsp:Policy>
                <sp:RequireDerivedKeys.../>?
                <sp:RequireExternalUriReference.../>?
                <sp:SC10SecurityContextToken.../>? => WS_SECURE_CONVERSATION_VERSION_FEBRUARY_2005
                <sp:BootstrapPolicy... >?
                   <wsp:Policy> ...  </wsp:Policy> => WS_SECURITY_CONSTRAINTS
                </sp:BootstrapPolicy>
            </wsp:Policy>
        </wsp:SecureConversationToken>
    </wsp:Policy>
</sp:EndorsingSupportingTokens>

Entropiläget bestäms av <sp:Trust10> försäkran. <sp:RequireClientEntropy/> och <sp:RequireServerEntropy/> =>WS_SECURITY_KEY_ENTROPY_MODE_COMBINED<sp:RequireClientEntropy/> =>WS_SECURITY_KEY_ENTROPY_MODE_CLIENT_ONLY<sp:RequireServerEntropy/> =>WS_SECURITY_KEY_ENTROPY_MODE_SERVER_ONLY

WS_REQUEST_SECURITY_TOKEN_PROPERTY_TRUST_VERSION

Det här avsnittet gäller när säkerhetsbindningsbegränsningen för WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT har angetts. Följande policyuttryck används för att identifiera WS_TRUST_VERSION och associerade alternativ.

<sp:Trust10> => WS_TRUST_VERSION_FEBRUARY_2005
    <sp:Policy>
        <sp:MustSupportClientChallenge/> ?
        <sp:MustSupportServerChallenge/> ?
        <sp:RequireClientEntropy/> ?
        <sp:RequireServerEntropy/> ?
        <sp:MustSupportIssuedTokens/> ?
    </sp:Policy>
</sp:Trust10>

Förtroendeversionen kan anges med hjälp av WS_REQUEST_SECURITY_TOKEN_PROPERTY_CONSTRAINT med ett egenskaps-ID för WS_REQUEST_SECURITY_TOKEN_PROPERTY_TRUST_VERSION.

WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION

Det här avsnittet gäller när någon av följande bindningsbegränsningar används:

Säkerhetsversionen för huvudet (enligt WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION) bestäms av något av följande princippåståenden:

<wsp:Wss10> ... </wsp:Wss10> => WS_SECURITY_HEADER_VERSION_1_0
<wsp:Wss11> ... </wsp:Wss11> => WS_SECURITY_HEADER_VERSION_1_1

Begränsningar med rubriksäkerhetslayout

Det här avsnittet gäller när någon av följande bindningsbegränsningar används:

Layouten för säkerhetsrubriken (enligt WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT) bestäms av något av följande princippåståenden:

<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:Lax.../> => WS_SECURITY_HEADER_LAYOUT_LAX
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>
<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:Strict.../> => WS_SECURITY_HEADER_LAYOUT_STRICT
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>
<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:LaxTsFirst.../> => WS_SECURITY_HEADER_LAYOUT_LAX_WITH_TIMESTAMP_FIRST
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>
<sp:TransportBinding>
    <wsp:Policy>
        <sp:Layout>
            <sp:LaxTsLast.../> => WS_SECURITY_HEADER_LAYOUT_LAX_WITH_TIMESTAMP_LAST
        </sp:Layout>
    </wsp:Policy>
</sp:TransportBinding>

Begränsningar med tidsstämpelsäkerhet

Det här avsnittet gäller när någon av följande bindningsbegränsningar används:

Huruvida en tidsstämpel ingår i säkerhetshuvudet (enligt WS_SECURITY_PROPERTY_TIMESTAMP_USAGE) bestäms av förekomsten av sp:IncludeTimestamp på följande plats:

<sp:TransportBinding>
    <wsp:Policy>
        <sp:IncludeTimestamp.../>
    </wsp:Policy>
</sp:TransportBinding>

Om sp:IncludeTimestamp-försäkran finns är värdet från principen WS_SECURITY_TIMESTAMP_USAGE_ALWAYS.

Om påståendet sp:IncludeTimestamp inte finns, är värdet från policyn WS_SECURITY_TIMESTAMP_USAGE_NEVER.