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="http://schemas.microsoft.com/soap/tcp"/> => WS_TCP_CHANNEL_BINDING
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> => 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.
WS_SSL_TRANSPORT_SECURITY_BINDING_CONSTRAINT
Värdet från policyn är alltid WS_PROTECTION_LEVEL_SIGN_AND_ENCRYPT.
WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_CONSTRAINT
Värdet från policyn anges som en del av WindowsTransportSecurity-assersionen enligt följande:
<netf:WindowsTransportSecurity...>None</netf:WindowsTransportSecurity> => WS_PROTECTION_LEVEL_NONE
<netf:WindowsTransportSecurity...>Sign</netf:WindowsTransportSecurity> => WS_PROTECTION_LEVEL_SIGN
<netf:WindowsTransportSecurity...>EncryptAndSign</netf:WindowsTransportSecurity> => WS_PROTECTION_LEVEL_SIGN_AND_ENCRYPT
WS_HTTP_HEADER_AUTH_SECURITY_BINDING_CONSTRAINT
Värdet från policyn är alltid WS_PROTECTION_LEVEL_NONE.
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="xs:anyURI"? ...="" >
<wsp:Issuer>...</wsp:Issuer>?
<wsp:RequestSecurityTokenTemplate TrustVersion='xs:anyURI"?>
...
<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="xs:anyURI"? ...="" >
<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:
- WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT
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:
- WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT
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:
- WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_USERNAME_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_CERT_MESSAGE_SECURITY_BINDING_CONSTRAINT
- WS_ISSUED_TOKEN_MESSAGE_SECURITY_BINDING_CONSTRAINT
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.