下面是一个使用wsdl2java的例子:
C:\Users\Administrator>F:
F:\>cd misps2
F:\misps2>wsdl2java -d . http://10.10.31.25/MSPGWebPub/MSPGS/MPService.svc?wsdl
F:\misps2>
方法2:F:\phone>wsdl2java -d src -client http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
环境配置:
1、下载apache-cxf-2.6.2在环境变量中配置CXF_HOME ,在PATH中加入%CXF_HOME%\bin
2、输入cmd 进入控制窗口,输入wsdl2java看是否配置成功
3、参考它的文档看这个工具的具体参数的用法
wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
wsdl2java -p QueryHrEmployee -d e:\ -all http://10.70.158.127
:8080/axis2_14/services/QueryHrEmployee?wsdl
方法二:使用wsdl2java生成客户端
1、需要 一个包:apache-cxf-2.6.1.gz
这个包里有好多jar包,一定要下载下来。
将此包解压,我是放在:E:\CXF\apache-cxf-2.6.1
2、将URL调用成功的页面内容,另存为XML
3、在cmd中通过wsdl2java生成客户端文件
cd 进入apache-cxd-2.6.1\bin目录
执行命名:
wsdl2java -p service.webservice.client.demo -d F:\MyDocuments\Java\ws\InterfaceControlApp\src -verbose "F:\demoForWebSerivce.xml"
解析
wsdl2java -p 包名 -d 生成文件路径 -verbose "wsdl文件路径"
然后再拷贝到项目里
包名:文件存放的包名,可以写项目中包路径
生成文件路径 :文件存放路径,可以直接写项目路径
wsdl文件:在IE中执行服务端URL显示的XML另存为XML文件。
我是直接到项目路径了,生成前:
生成后:
报错处理:
4、写MAIN调用
package common;
import javax.xml.ws.Service;
import service.webservice.client.demo.DemoForWebService;
import service.webservice.client.demo.DemoForWebServiceImplService;
import service.webservice.client.demo.User;
/**
* @author 作者 E-mail:
* @version 创建时间:2013-3-20 下午03:39:29
* 类说明
*/
public class TestWSClientByZBY {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Service service = Service.create(DemoForWebServiceImplService.SERVICE);
String endpointAddress = "http://127.0.0.1:8080/InterfaceControlApp/webservice/demoForWebService?wsdl";
service.addPort(DemoForWebServiceImplService.HTTPPort, javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);
// DMSSender dms = service.getPort(DMSSender.class);
DemoForWebService dms = service.getPort(DemoForWebServiceImplService.HTTPPort,DemoForWebService.class);
User user;
try {
user = dms.getUserById("admin");
System.out.println(user.getXtczdm());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
在服务端的实现类中@WebService(endpointInterface = "service.webservice.DemoForWebService",targetNamespace="http://webservice.service/",portName="HTTP_Port")
成功后:
调用完成。
2012-08-24 18:06:52| 分类:java| 标签:|字号大中小订阅
环境配置:
1、下载apache-cxf-2.6.2在环境变量中配置CXF_HOME ,在PATH中加入%CXF_HOME%\bin
2、输入cmd 进入控制窗口,输入wsdl2java看是否配置成功
3、参考它的文档看这个工具的具体参数的用法
wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
详细用法见:http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html
http://blog.chinaunix.net/u2/73798/showart_2002108.html
http://hgoldfish.mysmth.net/2007/11/04/cxfceuuaaoathinaeoeie-2/
实例:wsdl2java -p com -d d:/src -client http://portal.emp.gome.inc/HOwebapp/Gome.OA.ProcessService/Service/ProcessService.asmx?wsdl