【问题标题】:I imported a WSDL, now what?我导入了 WSDL,现在怎么办?
【发布时间】:2011-02-11 08:10:12
【问题描述】:

网络服务新手...请多多包涵。

我得到了一个 WSDL 文件来导入我的 vb .NET 项目。我知道这是一份合同,应该告诉我如何使用相关的网络服务。这就是我的问题所在。我在导入的服务参考中看到了各种类、属性、接口等。没有什么能告诉我“如果您有 X、Y 和 Z 作为输入,则调用此函数返回 W”。

冒着听起来太模糊的风险,我应该寻找什么来告诉我应该如何使用它?我如何知道要调用哪些函数以及从哪些类调用它们?我是否应该期望与 WSDL 一起提供一些文档,或者 WSDL 是否足以让我看到它并说“啊,这就是它的使用方式!”。

我通读了网络上的各种 WSDL 教程,它们让我有了基本的了解(我认为...?)。虽然我在某个地方遗漏了一些东西,但我真的很确定在哪里。

感谢您的帮助。

【问题讨论】:

    标签: vb.net web-services wsdl


    【解决方案1】:

    已经生成的类好用。

    基本上,您将拥有一个客户端类,并在该类中为 WSDL 中声明的每个端点/操作提供一种方法。
    另外,XSD部分定义的每个复杂类型(操作输入arg对象和输出结果对象)都应该有一个类。

    然后您可以通过类似于以下(简化)示例的方式调用您的 WS。

    Try
        Dim service As New MyServiceRef.MyServiceClient()
        service.Open()
    
        Dim output As MyServiceRef.myCallResponse
        Dim args As New MyServiceRef.myCallRequest
    
        args.arg1 = 1
        args.arg2 = "A"
    
        output = service.myCallRequest(args)
        ...
    Catch ex As Exception
        treat ( ex )
    End Try
    

    【讨论】:

      【解决方案2】:

      WSDL 将告诉您或者最好是 SOAP 库如何与 SOAP 服务器通信。 SOAP 服务可以是获取几乎任何东西的数据的接口。

      但是,如果函数名称和参数命名不正确,您将向 SOAP 服务发送什么数据以及响应将是什么可能会非常模糊。

      大多数时候,应该记录在案。您应该从服务提供商那里获取这些文件或了解该服务的实际作用。 WSDL 并不是真的要供人类使用。但是,如果您正在编写自己的 XML,那么是的,您需要注意 WSDL。如果一个库正在为您创建 XML,它通常与 WSDL 一起工作以了解如何构建 XML 并读取响应。

      【讨论】:

      • 谢谢,WSDL 导入附带了许多类、函数等,我不确定需要哪些,也无法从网络上的各种教程中判断是否我应该能够从创建的类或 WSDL 本身中分辨出这一点,或者是否应该向我提供文档,所以这就是我需要的答案。
      • 很高兴你知道了!我有过文档与 WSDL 不匹配的悲惨经历。服务提供商不断更新服务,但未能更新文档。
      【解决方案3】:

      当您添加 Web 服务的引用时,它会为您创建一个代理来调用服务器上的 Web 方法。 Here 是一个在 VB.NET 中使用 Web 服务的简单教程

      【讨论】:

      猜你喜欢
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多