java访问webservice服务(一)

 

欢迎转载  http://www.cnblogs.com/shizhongtao/p/3433653.html

使用wsdl2java工具命令

  一、 调出命令提示符cd到cxf的解压路径“D:\学习文档\jar\cxf\apache-cxf-2.6.8\bin”,在路径下执行

wsdl2java -p com.bing.client -frontend jaxws21 http://localhost:8080/webservice/ws/helloworld?wsdl

我这里是存放到命令路径下的com/bing/client文件下,参数说明-p是文件路径,当然你可以在加上-d来指定盘符,如果不指定就是当前的相对路径

-client 指定要生成一个测试客户端的“起点代码”(starting point code),其中包含了端口中所有方法的测试样例代码。

-d 指定我们想要把生成的文件放到哪个目录下,默认是wsdl2Java命令所在的目录。

-p 指定生成文件的包名;默认是根据WSDL文件中的命名空间相对应。

-frontend 指定前端类型及版本;目前仅支持 JAXWS 前端,用 "jaxws21" 表明要生成JAX-WS 2.1 兼容的代码(Jre6自带的就是这个版本)

 

注(网上查询):javax.xml.ws.Service中缺少Service(URL, QName, WebServiceFeature[]) 构造方法,为了减少麻烦,我直接生成了兼容的版本,据说也可以替换jre中的service类来解决兼容问题。
如果利用
myeclipse建立WebServiceClient执行下面两个步骤,也可以生成客户端。
1.在Web工程上右键-->new-->Other-->MyEclipse下的WebService下的Web Service Client
2.在打开窗口上的Project处选择要放入哪个工程,然后选择WSDL URL,把WebService地址填上.也可以选择本地wsdl文件

 

执行完之后,就会生成相应的客户端类。

二、在eclipse中创建java项目,把刚刚生成的类考进去。

就可以像对j对象操作一样来调用webservice服务了。前面的webservice服务有时间补上。

 

 1 package com.bing.test;

 2 

 3 import java.net.MalformedURLException;

 4 import java.net.URL;

 5 

 6 import com.bing.client.Helloworld;

 7 import com.bing.client.HelloworldService;

 8 import com.bing.client.User;

 9 

10 public class BasicClient {  

11     public static void main(String[] args){  

12         URL url=null;

13         try {

14             url = new URL("http://192.168.3.71:8080/webservice/ws/helloworld?wsdl");

15         } catch (MalformedURLException e) {

16             // TODO Auto-generated catch block

17             e.printStackTrace();

18         }
19 HelloworldService server = new HelloworldService(url); //具体构造函数可以自己查看生成的客户端。里面设置的有默认的客户端地址,就是上面命令中的地址。 20 Helloworld hello = server.getHelloworldPort(); 21 22 String result = hello.sayHi("East"); 23 System.out.println(result); 24 25 User user = new User(); 26 user.setName("East"); 27 user.setAge(35); 28 System.out.println(hello.addUser(user)); 29 30 31 } 32 }

 

 

 

你可能感兴趣的:(webservice)