我已经下载并正在试用 WSO2 ESB 并使用 wsHttpBindings 为 WCF 服务设置代理。当我启用了 Soap Tracing 时,一切正常 - 当我关闭它时,我每次都会收到 500 个内部服务器错误。我完全坚持这一点,无法理解为什么会这样。
我尝试设置通过代理和基于 WCF 的代理,但我总是遇到完全相同的问题 - 启用 Soap Tracing 后,一切看起来都很棒并且运行良好。如果我关闭它并且不触摸任何东西,我会收到 500 错误:
System.ServiceModel.ProtocolException: An HTTP Content-Type header is required for SOAP messaging and none was found. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
我已经用 basicHttpBinding 尝试过,它似乎可以在打开或关闭 Soap Tracing 时正常工作。问题似乎只出在 wsHttpBindings 上。
这是代理的完整来源:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="ContactService"
transports="http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<outSequence>
<send/>
</outSequence>
<endpoint>
<wsdl service="ContactService"
port="ContactService_WsHttp"
uri="http://localhost/Actions/ContactService.svc?singleWsdl"/>
</endpoint>
</target>
<publishWSDL uri="http://localhost/Actions/ContactService.svc?singleWsdl"/>
<description/>
</proxy>