2016-04-15 77 views
-4

我正在申請一份工作,他們要求我根據服務描述語言創建一個與給定Web服務完全相同的Web服務。 我設法創建完全相同的服務,除了元這部分數據:如何在WCF Web服務中實現策略?

<wsp:Policy wsu:Id="BasicHttpsBinding_policy"> 
<wsp:ExactlyOne> 
<wsp:All> 
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> 
<wsp:Policy> 
<sp:TransportToken> 
<wsp:Policy> 
<sp:HttpsToken RequireClientCertificate="false"/> 
</wsp:Policy> 
</sp:TransportToken> 
<sp:AlgorithmSuite> 
<wsp:Policy> 
<sp:Basic256/> 
</wsp:Policy> 
</sp:AlgorithmSuite> 
<sp:Layout> 
<wsp:Policy> 
<sp:Strict/> 
</wsp:Policy> 
</sp:Layout> 
</wsp:Policy> 
</sp:TransportBinding> 
</wsp:All> 
</wsp:ExactlyOne> 
</wsp:Policy> 

那是什麼?以及如何在服務描述語言中生成它?

回答

0

我覺得你在這裏搜索描述的「外部策略附件」:http://www.w3.org/TR/ws-policy-attach/#ExternalPolicyAttachment

要使<wsp:Policy..你的WSDL文檔,你應該有HTTPS首先在你的web配置文件結合。

因此,如果您使用的是HTTPS,那麼你可以添加 在您服務節點的基址:

<baseAddresses> 
    <add baseAddress="http://yourdomain.com/"/> 
    <add baseAddress="https://yourdomain.com/"/> 
</baseAddresses> 

再加入基本HTTPS綁定節點:

<basicHttpsBinding> 
    <binding name="BasicHttpsBinding_Name"> 
     <security> 
     <transport clientCredentialType="None" /> 
     </security> 
    </binding> 
    </basicHttpsBinding> 

也應該有最終點如下圖所示:

<endpoint address="" binding="basicHttpsBinding" 
      bindingConfiguration="BasicHttpsBinding_Name" 
      contract="NameSpace.Name" name="BasicHttpsBinding_Name" /> 

並編譯你的s服務策略節點將出現在您的WSDL上。
也看到一些解決方案here
我希望它可以幫助你。

+0

我試過這個解決方案,但是我遇到了更多的問題!我會盡力解決問題並更新你。 我不知道這很容易。 –

+2

@MegaTron:要在您的WSDL文檔上擁有

+0

@GlaucoCucchiar也許你是對的。謝謝。 – Marusyk