Fen*_*ton 8 c# https wcf self-hosting
我有一个自托管WCF服务通过HTTPS接受消息.
正在从Java应用程序发送消息,该应用程序接收响应:
HTTP/1.1 413 Request Entity Too Large
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 19 Sep 2012 09:05:34 GMT
Connection: close
Run Code Online (Sandbox Code Playgroud)
我没有尝试上传文件,只是发送一个78kb的XML/SOAP消息.我试过提高我的最大消息和缓冲区大小,但无济于事.
<binding name="SecuredNoProxy" openTimeout="00:00:10" sendTimeout="00:00:10">
<textMessageEncoding messageVersion="Soap11WSAddressing10" />
<security includeTimestamp="true" enableUnsecuredResponse="true">
<localClientSettings timestampValidityDuration="00:15:00" />
</security>
<httpsTransport manualAddressing="false" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" allowCookies="false" bypassProxyOnLocal="true" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard" keepAliveEnabled="true" realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false" useDefaultWebProxy="false" requireClientCertificate="true" />
</binding>
Run Code Online (Sandbox Code Playgroud)
如果我能提供任何其他信息,请告诉我.
WCF跟踪日志
在连接'https:// localhost'上接收字节
活动边界(开始)
连接信息
抛出异常(错误)
例外是:
System.ServiceModel.ProtocolException,System.ServiceModel,Version = 4.0.0.0,Culture = neutral
正如我在问题中所提到的,这与绑定配置非常相关.特别是maxReceivedMessageSize.
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"
Run Code Online (Sandbox Code Playgroud)
这是要更改的正确区域(可能不会让事情变得如此之大,因为它会让您容易受到拒绝服务攻击).根据您的实际消息确定合理的值.
出站端点已正确配置但入站端点未正确配置 - 它是:
<httpsTransport requireClientCertificate="true" />
Run Code Online (Sandbox Code Playgroud)
这意味着它使用默认值65536,这对于发送的消息是不够的.因此,确实需要非常仔细地检查端点,特别是如果它们的名称相似.
| 归档时间: |
|
| 查看次数: |
20077 次 |
| 最近记录: |