首页 > 编程语言 > 如何根据带账号密码的WSDL地址生成JAVA代码
2020
10-10

如何根据带账号密码的WSDL地址生成JAVA代码

 wsdl:

  网络服务描述语言bai是Web Service的描述语言,它包含一系列描述某du个web service的定义。

  一、组成:zhi

  WSDL 文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。

  二、元素:

  •   WSDL 元素基于XML语法描述了与服务进行交互的基本元素:
  •   Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。
  •   Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。
  •   Part:消息参数
  •   Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;

  2.请求-响应(request-response):端点接受消息,然后发送相关消息;

  3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;

  4.通知(notification):端点发送消息。

  •   Port Type(端口类型):特定端口类型的具体协议和数据格式规范。
  •   Binding:特定端口类型的具体协议和数据格式规范。
  •   Port:定义为绑定和网络地址组合的单个端点。
  •   Service:相关端口的集合,包括其关联的接口、操作、消息等。

使用jdk里面自带的wsimport工具,具体使用办法如下:

在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方。该工具可以用于非Java的服务器,如:用C#编写的WebService,通过wsimport则生成Java的客户端实现。

  在命令提示符中使用如下命令:

wsimport http://localhost:8080/Demo/services/MyService?wsdl

  命令参数说明:

  •   -d:生成客户端执行类的class文件的存放目录
  •   -s:生成客户端执行类的源文件的存放目录
  •   -p:定义生成类的包名

  其他命令参数请参照:http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

  使用wsimport命令后,可以得到代码,然后可以将代码拷贝到工程里面,也可以将其编译,打包成jar。

比如 javac com/xxx/*.java com/xxx/yyy/*.java

jar cvf dest.jar com/

这样我们就能得到一个dest.jar文件

使用一下webservice的框架自带的一下wsdl4j生成,由于众所周知的原因,java的webservice的jar很多,经常由于版本和实现的不同,会出现一下莫名奇妙的问题,所以这个地方还是推荐使用你所使用的框架的wsdl4j工具生成相应的stub。

wsimport -d E:\data\soap -keep -verbose -Xauthfile E:\data\soap\11.txt http://XXXXXXX

其中11.txt里填写wsdl地址:http://账号:密码@XXXXXXX

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

编程技巧