调用web服务webmethod会抛出HTTP / 1.1 404 Not Found

时间:2015-08-13 04:08:57

标签: c# asp.net web-services

我有一段代码,其中有两个顺序调用旧的ASMX Web服务。

service.Url = "http://.....";
service.A(1, 2, 3);
service.B(4, 5, 6);

致电A没问题。但是调用B抛出404... not found...在发现中,两种方法都是可见的并且看起来很好 - 我在IE中看到,元数据看起来都很好。我在B中设置了断点并且绝对没有击中。我在使用项目时重建了Update Web Service引用并重建了它。

状态为WebExceptionStatus.ProtocolError

失败的网络方法签名

<WebMethod(Description:="Store a fragment of object on server.")> _
Public Function B(
    ByVal p1 As String, 
    ByVal p2 As String,
    ByVal p3() As Byte, 
    ByVal p4 As Integer,
    ByVal p5() As Byte) As Boolean

电话是(已验证)

bool result = service.B(string, string, byteArray1, int, byteArray2);

同样,未达到WebMethod B. Web引用代理和所有 - 看起来不错。 它能是什么?

1 个答案:

答案 0 :(得分:5)

我解决了。因为我得到了HTTP/1.1 404 Not FoundWebExceptionStatus.ProtocolError,所以很困惑。

在我连接 Fiddler2 之后,我正在挖掘它并找到 WebView ,其中明确指出:

  

•在Web服务器上配置了请求筛选以拒绝请求,因为内容长度超过了配置的值。

要解决此问题,我已在IIS中更改配置以允许50MB请求。

Edit request propertues

您还希望在web.config

中进行以下设置
<httpRuntime maxRequestLength="1000000" executionTimeout="3000"/>

最大设置为2097151 KB

404令人困惑。这听起来像Web服务的问题,而实际上它是请求的大小。当我之前说过它之前,它只是因为在此之前我不会保存这么大的物体。