[英]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.