2017-02-22 49 views
0

我有一个Windows应用程序来测试连接到第三方Web服务。如何解决我的SOAP问题?

我已经使用提供的wsdl创建了服务引用。

Web服务的工作方式是一个4步骤的过程。

  1. 获取会话ID的方法调用。
  2. 传递参数的方法调用
  3. 执行参数的方法调用。
  4. 获取结果的方法调用。

现在这里是奇怪的部分: 我可以使第一个电话没有问题。

呼叫2和3不能从我的工作。网络应用。

我收到错误: 反序列化操作'setArguments'的回复消息正文中的错误。来自命名空间'http://www.w3.org/2003/05/soap-envelope'的结束元素'Body'。发现元素'ns:setArgumentsResponse'

我完全丧失了这一点。

我做了什么。

  1. 我抓住了我的帖子在提琴手。

    • 当我检查身体一切看起来正确。
    • 如果我采取相同的回应,我捕获并张贴在提琴手它的作品。
  2. 我试过这在Python的作品。

是否有一些模糊的设置,我可能会在我的应用程序中丢失?

我在第1步中的发现应证明我正在创建一个有效请求。可以 。 NET可能会窒息的回应?

任何建议,将不胜感激。

FYI: binding =“customBinding” 我也试过basicBinding并得到了相同的结果。

编辑: 我只是围绕每个方法包裹try/catch,当我调用方法4时,我得到一个结果。所以错误必须在响应上。对?

+0

有一个你正在做一个get,所以发生序列化问题的可能性比发送给它们的时候少。当您添加服务参考时,您是否将它指向您要呼叫的主机地址?你传给他们的数据有多复杂? –

+0

Method2(字符串,字符串[])请参阅我的编辑... – PrivateJoker

回答

0

问题似乎是我正在使用Java Web服务。

我最初添加它作为一个服务参考,这是导致我的序列化错误的响应。

我删除了这个引用并重新添加了一个Web引用,它似乎在没有序列化错误的情况下工作。