zoukankan      html  css  js  c++  java
  • 根据WSDL生成代理类方式

    方式一:

    1、使用VS2010提供的工具wsdl.exe由WSDL文件生成cs文件

         使用wsdl.exe的/serverInterface选项(或缩写的 /si)指定输入的wsdl文件(注意,如果要转换的wsdl文件中import了其他wsdl文件,则所有文件都应列出,包括使用到的xsd文件也应列出)。输出将是 一个代码文件(默认是C#的,如果需要别的语言,参考MSDN中wsdl.exe的使用说明),其中包含每个 wsdl 绑定的接口。

       

      (上图中ServerInterfaceSample.wsdl文件放在d盘根目录,生成的文件也在跟目录)

       示例:假设有ServerInterfaceSample.wsdl 

        wsdl.exe /si ServerInterfaceSample.wsdl

        如果使用Service.xsd作为schema文件,则改为

        wsdl.exe /si ServerInterfaceSample.wsdl  Service.xsd

    方式二:

    利用wsdl.exe生成webservice代理类
    根据提供的wsdl生成webservice代理类
    1、开始->程序->Visual Studio 2005 命令提示
    2、输入如下红色标记部分
    D:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:TestDemo /out:d:/Temp/TestService.cs D:/Temp/TestService.wsdl
    在d:/Temp下就会产生一个TestService.cs 文件
    注意:D:/Temp/TestService.wsdl 是wsdl路径,可以是url路径:http://localhost/Temp/Test.asmx?wsdl

    wsdl参数说明:
    wsdl.exe <选项> <URL 或路径> <URL 或路径> ...
         - 选项 -
    <URL 或路径> -
        指向 WSDL 协定、XSD 架构或 .discomap 文档的 URL 或路径。
    /nologo
        取消显示版权标志。
    /language:<language>
        用于生成的代理类的语言。请从“CS”、“VB”、“JS”、“VJS”、
        “CPP”中选择,或者为实现 System.CodeDom.Compiler.CodeDomProvider
        的类提供一个完全限定的名称。默认语言为“CS”(CSharp)。
        缩写形式为“/l:”。

    /sharetypes
        打开类型共享功能。此功能针对不同服务之间共享
        的相同类型(命名空间、名称和网络签名必须相同)
        创建一个具有单一类型定义的代码文件。
        请使用 http:// URLs 作为命令行参数来引用
        服务,或为本地文件创建一个 discomap 文档。

    /verbose
        指定 /sharetypes 开关时显示额外信息。
        缩写形式为“/v”。

    /fields
        生成字段而非属性。缩写形式为“/f”。

    /order
        为粒子成员生成显式顺序标识符。

    /enableDataBinding
        在所有生成的类型上实现 INotifyPropertyChanged 接口,
        以启用数据绑定。缩写形式为“/edb”。

    /namespace:<namespace>
        生成的代理或模板的命名空间。默认命名空间
        为全局命名空间。缩写形式为“/n:”。

    /out:<fileName|directoryPath>
        生成的代理代码的文件名或目录路径。默认文件名是从
        服务名派生的。缩写形式为“/o:”。

    /protocol:<protocol>
        重写要实现的默认协议。请从“SOAP”、“SOAP12”、
        “HttpGet”、“HttpPost”中选择。

    /username:<username>
    /password:<password>
    /domain:<domain>
        连接到要求身份验证的服务器时使用的凭据。
        缩写形式为“/u:”、“/p:”和“/d:”。

    /proxy:<url>
        用来处理 HTTP 请求的代理服务器的 URL。
        默认为使用系统代理服务器设置。

    /proxyusername:<username>
    /proxypassword:<password>
    /proxydomain:<domain>
        连接到要求身份验证的代理服务器时使用的凭据。
        缩写形式为“/pu:”、“/pp:”和“/pd:”。

    /appsettingurlkey:<key>
        在代码生成中用来读取 URL 属性的
        默认值的配置项。默认为不从配置
        文件中读取。缩写形式为“/urlkey:”。

    /appsettingbaseurl:<baseurl>
        计算 URL 段时使用的基 URL。
        还必须指定 appsettingurlkey 选项。URL 段是
        从 appsettingbaseurl 计算
         WSDL 文档中的 URL 的相对 URL 的结果。缩写形式为“/baseurl:”。

    /parsableerrors
        输出错误,其格式与编译器报告的格式类似。

         - 高级 -

    /server
        服务器开关已被否决。请改用 /serverInterface。
        使用基于协定的 ASP.NET,为 Xml Web Services 实现
        生成抽象类。默认情况下,生成客户端代理
        类。

    /serverInterface
        为 ASP.Net Web 服务的服务器端实现生成
        接口。将为 wsdl 文档中的每个绑定生成
        一个接口。wsdl 单独实现 wsdl 协定(实现
        接口的类在类方法上不应包括下列任意一项:
        更改 wsdl 协定的 Web 服务属性或序列化
        属性)。缩写形式为“/si”。

    /parameters:<file>
        从指定的 xml 文件读取命令行选项。这样可以
        指定命令行中无法使用的选项,例如选择
        生成的异步编程模型类型。有关详细信息,
        请参阅工具文档。缩写形式为“/par:”。

  • 相关阅读:
    Runloop详解
    iOS高效裁剪图片圆角算法
    Runtime详解(下)
    Runtime详解(上)
    iOS UITextfield只允许输入数字和字母,长度限制
    iOS多线程(上)——GCD详解(上)
    @property、@sythesize以及Ivar和@dynamic讲解(下)
    iOS 循环引用讲解(中)
    @property详解,@property修饰符以及各个修饰符区别(上)
    PHP 使用 OSS 批量上传图片
  • 原文地址:https://www.cnblogs.com/luofuxian/p/4615111.html
Copyright © 2011-2022 走看看