【问题标题】:How can I fix "Conversion from SOAP failed" fault while consuming mainframe web service in VB .Net web service?在 VB .Net Web 服务中使用大型机 Web 服务时,如何解决“从 SOAP 转换失败”错误?
【发布时间】:2013-04-17 12:41:48
【问题描述】:

我目前正在开发一个 VB。网络 Web 服务调用在大型机中运行的另一个 Web 服务。我获得了 WSDL 文件,并使用 wsdl.exe 生成了一个代理类。在尝试使用代理类调用大型机 Web 服务的方法时,我遇到了一个异常,说“从 SOAP 转换失败”来自生成的代理类中的一行代码。

Dim results() As Object = Me.Invoke("WSIBACTPOperation", New Object() {WSIBACTPOperation1})

知道是什么原因造成的吗?有人告诉我我不需要使用任何证书。我该如何解决这个问题?

【问题讨论】:

  • 为什么不使用“添加服务引用”或 svcutil.exe?
  • 添加服务引用会生成相同的代理类对吧?我通常在文件夹中组织源,我只是觉得能够像其他人一样管理代理类源更舒服。是的,我知道,没有多大意义。但在我们当前的设置中,这有助于保护我们的代理类不被一些相当不守规矩的开发人员覆盖。
  • 不,它不会生成相同的类。它将生成一个类似的类,但使用 WCF 基础结构而不是传统的 ASMX 基础结构。
  • 这实际上是一个运行在 .Net 1.1 上的遗留系统。

标签: vb.net web-services mainframe


【解决方案1】:

这是我自己想出来的。 Web 服务只需要完整且正确的输入。当客户方的开发人员告诉我们某些输入不是必需的,因此可以留空时,她犯了一个错误。仔细检查 WSDL 文件解决了这个问题。

【讨论】:

    【解决方案2】:

    首先,查看从大型机返回的 SOAP 消息。它看起来像 SOAP 消息,还是看起来像 HTML 或表明您未获得授权的纯文本?

    当您被告知不需要使用任何证书时,您是否被告知应该使用 BASICAUTH?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      相关资源
      最近更新 更多