[英]How to Consume SOAP 1.2 Web Service Created in WCF by a Java Client?
[英]Calling Java SOAP 1.1 Service by WCF Client
為什么用JAVA編寫的SOAP1.1 Web服務可能無法識別WCF客戶端傳遞的有效證書?
我們從服務中收到500錯誤,表明該服務不信任我們的證書。 與SOAP標准的WCF實現和Java服務所期望看到的有所不同嗎?
這是WCF配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ourCert">
<clientCredentials>
<clientCertificate x509FindType="FindBySubjectName" findValue="MyCompany"/>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="wsHttpSoap11" >
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://{site}.com/site.wsdl"
binding="customBinding"
behaviorConfiguration="ourCert"
bindingConfiguration="wsHttpSoap11"
contract="ServiceContract">
</endpoint>
</client>
</system.serviceModel>
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
</configuration>
證書是根據信任鏈驗證的,因此生成框架不相關。 還要注意,您使用傳輸級別證書,因此SOAP不太可能成為錯誤源。
我建議您執行以下操作:
如果WCF仍然失敗,則可以比較java和wcf客戶端生成的傳出SOAP(可以使用fiddler捕獲它)。 這可能暗示其他差異(也許您實際上需要消息證書而不是傳輸,也許您的肥皂版本不匹配,等等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.