【问题标题】:Web Service Windows Phone 7 (405) Method Not AllowedWeb 服务 Windows Phone 7 (405) 方法不允许
【发布时间】:2014-07-06 13:50:21
【问题描述】:

我正在尝试在 windows phone 上使用这个 http://footballpool.dataaccess.eu/data/info.wso?wsdl web service async 。我的代码是这样的:

    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 文档。

【问题讨论】:

  • 对不起兄弟,我认为你不能在 windows phone 7 中使用 wso 协议 web 服务。但是,我正在看这个。如果我找到什么我会告诉你的。
  • 谢谢!!我期待..
  • 你知道是否可以从 windows phone 8 消费吗?
  • 我还没有进入windows phone 8 seas,所以我不知道。我想你只有试过一次才能知道。
  • 这可能是真的,也可能不是,但问题可能在于我们第一次打开.wsdl 页面时出现的图片。当我尝试阅读它的内容时,它只会读取类似Øá↨¿5的字符。但是当我尝试读取另一个服务(.wsdl)时,它会正确读取 xml。因此,如果该图片将保留在那里,您可能无法访问内容。但正如我所说,这可能不是真的。

标签: c# web-services windows-phone-7


【解决方案1】:

“(405) Method Not Allowed”表示您的客户端正在使用服务器不期望的 HTTP 方法(例如,您尝试执行 GET 而服务器期望 POST)。 T

尝试使用fiddlerwireshark 捕获http 流量,并检查应用正在发送的HTTP 请求和服务器的响应。将它们与您在使用 WP7 的此服务时获得的正确请求/响应对进行比较(您可以为此使用 WCFTestClient)。

解决此问题的另一种方法是比较在 WP7 应用程序和标准控制台应用程序中添加 WebService 引用时生成的代理(客户端)类。也许 WP7 上的代理有一些不正确的方法签名?

还有一件事:用 WCFTestClient 测试这个服务时,我得到了一个错误:

传入邮件的最大邮件大小配额 (65536) 已达到 超过。要增加配额,请使用 MaxReceivedMessageSize 相应绑定元素上的属性。

所以请确保MaxReceivedMessageSize 设置正确。

【讨论】:

    猜你喜欢
    • 2013-03-21
    • 2022-01-07
    • 1970-01-01
    • 2013-03-15
    • 2017-11-18
    • 2016-06-13
    • 2011-01-13
    • 2018-02-04
    • 2016-03-23
    相关资源
    最近更新 更多