阳光天下

学无止境-与大家共同进步

导航

Java WebService简单使用

Posted on 2014-01-12 22:14  阳光天下  阅读(2290)  评论(0编辑  收藏  举报

一直在写java但从来没有使用webservice,在网上查了下资料写个简单的使用放这里做备份

具体步骤:

1.新建一个java工程在里面写一个类(服务端)如下:

 1 package com.webservice.functin;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import javax.jws.WebService;
 7 import javax.xml.ws.Endpoint;
 8 
 9 
10 @WebService
11 public class Function {
12     
13     //三个对外的方法如下
14         
15     public String transWords(String words){
16         String temp = "";
17         for(char c : words.toCharArray()){
18             temp += "\t"+ c +"\t";
19         }
20         return temp;
21     }
22     
23     public String sayHello(String name){        
24         return "echo:Hello " + name;
25     }
26     
27     public List<String> getNameList(int size){    
28         List<String> list = new ArrayList<String>();
29         for(int i=0;i<size;i++){
30             list.add("Li bing ="+(i+1));
31         }
32         return list;
33     }
34 
35     public static void main(String[] args) {
36 
37         
38         Endpoint.publish("http://192.168.1.4:8001/Service/Function", new Function());
39         System.out.println("Publish success");
40         
41         //启动后执行如下命令生成客户端
42         // -s 生成代码存放的根目录
43         // -p 生成代码完整包名(按包名规则自定义)
44         //wsimport -s D:\workspace\givemeword -p com.web.service -keep http://localhost:9001/Service/Function?wsdl   
45         
46     }
47 }

 

写完后关键是要生成客户端代码通过wsimport命令:

wsimport -s 生成到某个目录 -p 生成代码的完整包名 -keep service访问路径

2.生成后的类包结构如下:

3.客户端调用代码如下:

 1 package test;
 2 
 3 import java.util.List;
 4 
 5 import com.web.service.Function;
 6 import com.web.service.FunctionService;
 7 
 8 
 9 public class Test {
10 
11     public static void main(String[] args) {
12         Function function = new FunctionService().getFunctionPort();
13         //String str = function.sayHello("李三");
14         //System.out.println(str);
15         List<String> list = function.getNameList(100);
16         for(String name : list){
17             System.out.println(name);
18         }
19     }
20 }