• wsdl简介及wsdl2c笔记



    WSDL 指网络服务描述语言 (Web Services Description Language)。WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。

    对WSDL语言的详细解说可参考

    这里借用一下一张能一目了然的结构图:

     

    下面将详述如何从wsdl文件生成c代码

    salesforce(http://www.salesforce.com)为例,该web service提供了多个版本的wsdl文件,定义了此服务提供的操作,作为客户程序,需要根据自己的需要,用特定的编程语言、方式去访问这些服务,例如通过c语言和axis2方式(axis2/c api)。

    以partner.wsdl为例,这就需要将提供的wsdl文件转为C代码并且在Axis2框架下工作。Axis2/c提供了一个wsdl2c tool,可以实现这个转变。

    Wsdl2c tool实际上是几行脚本,真正奏效的是\axis2java\lib下的众多jar文件,从命名可以看出,axis2java实际上是java版本的axis2c。所以在代码生成之前必须确保java运行环境以及axis2java的安装完整。

    将wsdl2c.bat脚本中代码修改如下,用于生成client端的代码(参照http://axis.apache.org/axis2/c/core/docs/axis2c_manual.html,可生成server端的代码


    1 set AXIS2_HOME=C:\axis2java
    2 
    3 setlocal EnableDelayedExpansion
    4 
    5 set AXIS2_CLASSPATH=C:\axis2java
    6 
    7 FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASSPATH=!AXIS2_CLASSPATH!;%%c;
    8 
    9 java -classpath %AXIS2_CLASSPATH% org.apache.axis2.wsdl.WSDL2C -uri test.wsdl -d adb -u

     

    将以上脚本另存为ba_client.bat,其中C:\axis2java 即为axis2java解压后的路径;test.wsdl即为salesforce上直接获取的wsdl文件,例如partner.wsdl。

    运行ba_client.bat即可生成client端的C代码。客户可以进一步使用这些代码访问salesforce服务。

     
  • 相关阅读:
    bzoj1797
    bzoj1266
    bzoj1497
    bzoj1412
    bzoj3156
    JSOI2014第三轮总结
    bzoj1855
    bzoj1044
    codeforces 371D
    codeforces 371B
  • 原文地址:https://www.cnblogs.com/luweiseu/p/2098749.html
Copyright © 2020-2023  润新知