我正尝试在windows phone上异步使用此http://footballpool.dataaccess.eu/data/info.wso?wsdl web服务。我的代码是:
private void button1_Click(object sender, RoutedEventArgs e)
{
ServiceReference1.InfoSoapTypeClient client = new ServiceReference1.InfoSoapTypeClient();
client.AllCardsCompleted += new EventHandler<ServiceReference1.AllCardsCompletedEventArgs>(GetAllPlayers);
client.AllCardsAsync(true);
}
private void GetAllPlayers(object sender, ServiceReference1.AllCardsCompletedEventArgs e)
{
textBlock1.Text = e.Result.ToString();
}我读过很多类似的问题,但没有一个是针对windows phone的。我得到的错误是:“远程服务器返回了一个意外的响应:(405)方法不被允许。”
Web服务希望在项目之外使用得很好。当您点击链接时,您将什么也看不到,但是如果您重新输入链接,您将看到wsdl文档。
发布于 2014-07-06 13:50:22
"(405) Method Not Allowed“表示您的客户端正在使用服务器不希望使用的HTTP方法(例如,您正在尝试执行GET,而服务器希望使用POST)。T
尝试使用fiddler或wireshark捕获http流量,并检查应用程序发送的HTTP请求和服务器的响应。将它们与您在WP7端使用此服务时获得的正确的请求/响应对进行比较(您可以使用WCFTestClient实现此目的)。
另一种攻击方法是比较在WP7应用程序和标准控制台应用程序中添加WebService引用时生成的代理(客户端)类。也许WP7上的代理有一些不正确的方法签名?
还有一件事:当我用WCFTestClient测试这个服务时,我得到了一个错误:
已超过传入消息的最大消息大小配额(65536)。若要增加配额,请使用相应绑定元素的MaxReceivedMessageSize属性。
因此,请确保MaxReceivedMessageSize设置正确。
https://stackoverflow.com/questions/24527816
复制相似问题