java之wsdl自动生成WebService客户端

在web项目中调用webservice接口,以及创建自己的webservice服务端



由于甲方的服务器并不在外网,编码环境是不能直接访问对方的webservice接口的,所以需要把wsdl文件下载到本地,在通过工具生成代理类。

用java的JDK自带命令wsimport -s . xxx.wsdl生成代理类

  • 其中-s表示生成源代码,不指定的话只会生成.calss字节码文件
  • 中间的点"."表示在当前路径
  • 后面空格接上本地的wsdl文件或者URL,例如http://www.xxx.com/serviceInterface?wsdl

wsimport命令可以指定包名以及生成jar包等,具体命令用法百度



但是这次执行命令不成功,报错:Use of SOAP Encoding is not supported

百度了一下,说是wsimport不支持use="encoded",是比较旧的格式,需要用到axis这个框架

有一篇博客有解决方法:根据wsdl生成客户端:Use of SOAP Encoding is not supported

不过我直接用eclipse根据wsdl自动生成客户端代理类了,就不用自己一个一个导入jar包再调用命令。

  • 这里使用的是J2EE Eclipse,里面集成了axis插件,myeclipse好像不行

具体步骤如下:

1.首先创建一个java工程,并把wsdl文件复制进入

2.工程右键,创建一个web service client

3.选择wsdl文件,点击finish即可

4.完成



由于我使用的是Intellij IDEA开发项目,所以还需要把代理类拷贝过去,以及配置maven导入axis的相关jar包

  • 可以先在eclipse修改包名,它会自动关联修改;也可以拷到Intellij再修改

  • 在pom.xml中配置需要的jar包
  • mail-1.4.jar
  • saaj-api-1.3.jar
  • jaxrpc-1.1.jar
  • commons-discovery-0.2.jar
  • commons-logging-1.1.jar
  • axis-1.4.jar
  • activation-1.1.jar
  • wsdl4j-1.4.jar

这里列出一些配置,其他的去maven repository搜索,然后复制粘贴过来就行了



服务端发布是用CXF框架的,刚用TinyMCE写博客不太习惯,下一篇再说服务端吧

关于Axis和CXF框架区别,引用其他人的博客:WebService流行框架之Axis和CXF

时间: 2024-12-23 22:16:36

java之wsdl自动生成WebService客户端的相关文章

WSDL自动生成WebService代理类的方法

通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs  /out:D:\Proxy_UpdateService.cs http://localhost:1101/UpdateService.asmx?wsdl拷贝到Visual Studio 2005 命令提示窗口中去执行,这里再介绍另一个办法. 首先打开Visual Studio 2005,选择菜单"工具"-"外部工具"打开外部工具对话框,如图 ,单击“添加”按钮添加新工具,

JDK1.6 自动生成WebService客户端代码

到需要生成客户端代码的项目根目录下执行 wsimport -keep  http://localhost:8080/HelloService?wsdl 命令即可 http://localhost:8080/HelloService是服务端地址

axis在eclipse 中生成webservice客户端

可以使用axis提供的Java2WSDL功能生成所要发布类的 WSDL,步骤如下: 1.在你的eclipse或myeclipse的项目中找到你引 的 axis.jar包,打开它,在其里面找到 org.apache.axis.wsdl下面的Java2WSDL类,然后以 Java application方式运行一下它 2.打开菜单栏"run -->"Debug  ,在弹出框的左边找到"Java Application 项,在其里面你会看 到"Java2WSDL 子

C#根据WSDL文件生成WebService服务端代码

转自:http://www.cnblogs.com/liyi93/archive/2012/01/30/2332320.html 虽然现在已经进入了.NET FrameWork 4.0的时代,WebService也已经逐渐被淘汰,取而代之的是WCF. 但在工作中难免遇到需要兼容旧版本程序和按照以前的文档进行开发. 一般一个已经实现功能的WebService会发布自己的WSDL文件,供客户端调用生成代理类. 但有时是先有server与client交互的接口定义(WSDL)文件,然后由server和

cxf 生成 webservice 客户端

一.cxf 生成 webservice 客户端 1.接口路径 http://localhost:8080/cxfserver/webservice/userWS?wsdl 2.进入你需要放置 webservice 客户端代码的包,进入这个包所在的系统路径,进入 cmd 3.执行命令 wsimport -keep http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 或者 wsdl2java -client http://ws.webxml

利用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/T

解析利用wsdl.exe生成webservice代理类的详解

利用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下就会产生一个TestServ

C# 利用VS自带的WSDL工具生成WebService服务类

C# 利用VS自带的WSDL工具生成WebService服务类 wsdl /language:c# /n:空间名 /out:D:/类名 webService接口地址

eclipse根据.wsdl文件自动生成webservice的调用客户端

1.工具:eclipse3.3或者是带有webservice插件的eclipse 2. 首先用浏览器访问webservice的站点,接着保存打开的页面,后缀为.wsdl. 3.把保存好的文件拷入eclipse的工程中. 4.eclipse:file----new---other----webservice----web service client,选择之前拷贝到eclipse中的.wsdl文件,点击finish. 这样eclipse就帮我们自动生成了web service的客户端,接下来只需在