IIS 6中托管的WCF REST,无法在客户端上使用它

本文关键字:客户端 REST WCF IIS | 更新日期: 2023-09-27 17:54:20

我在IIS6中托管了我的WCF REST服务。但是当我尝试使用任何方法时,它会给我一个错误400。

然而,当我在IE中使用相同的url时,实现了所需的响应。为什么我不能在我的客户端中使用它,而我可以直接在IE中点击它。

以下是客户端代码:

string xmlInputValue = XMLUtility<string>.GetDataContractXml("Testing", null);
WebClient wc = new WebClient();
wc.Headers["Content-Type"] = "application/octet-stream";
xmlInputValue = string.Empty;
byte[] buf = new byte[0x10000];
wc.UploadString(new Uri(@"http://localhost/FileUpload/UploadData/PingTest/?123"), "POST", "4567");

IIS 6中托管的WCF REST,无法在客户端上使用它

找到答案了。当使用IIS托管服务时,端点地址应该为空白

一个简短的问题,为什么要将Content-type设置为"application/octet-stream"?您确定服务绑定期望相同的内容类型吗?无论如何,我会捕获Fiddler跟踪(使用Fiddler工具:http://fiddler2.com)为IE(成功场景),并检查请求是如何由IE发送的,并被服务接受,并与客户端应用程序发送的请求进行比较。

HTH,Amit