第一个简单的webService

 

1.接口

 1 package com.seecen.service;
 2 
 3 import javax.jws.WebParam;
 4 import javax.jws.WebService;
 5 
 6 @WebService
 7 public interface IWebService {
 8     
 9     String sayHi(@WebParam(name="text")String text,@WebParam(name="age")int age);    // 参数的名字叫text
10 
11 }

2.实现

 1 package com.seecen.service.impl;
 2 
 3 import javax.jws.WebService;
 4 
 5 import com.seecen.service.IWebService;
 6 
 7 @WebService(endpointInterface ="com.seecen.service.IWebService",serviceName="testService")
 8 public class WebServiceImpl implements IWebService{
 9 
10     public String sayHi(String text, int age) {
11         return "思成" + text + age;
12     }
13 
14 }

-------服务器端虚拟测试---------------------------------

 1 package main;
 2  
 3  
 4 import javax.xml.ws.Endpoint;
 5  
 6 import com.seecen.service.IWebService;
 7 import com.seecen.service.impl.WebServiceImpl;
 8  
 9  
10 public class TestService {
11  
12     public static void main(String[] args) {
13         System.out.println("Web Service start");
14         IWebService webService = new WebServiceImpl();
15         String address = "http://192.168.1.137:8080/web";
16         Endpoint.publish(address,webService);               // 发布服务地址和接口
17         System.out.println("Web Service started");
18     }
19  
20 }

----------------------------------------------------------------------

客户端使用:

找到 apache-cxf-3.0.1 存放的路径,找到其下的 bin

(在 cmd ---- F:----cd apache-cxf-3.0.1---cd bin (提前将com文件删掉)---wsdl2java‘空格’-frontend jaxws21 (url)http://192.168.1.137:8080/web?wsdl )

 1 public class Test {
 2 ? 
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7  
 8         JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean();    //通过JaxWsProxyFactoryBean动态生成客户端代理
 9         svr.setServiceClass(IWebService.class);                     //传入服务接口
10         svr.setAddress("http://192.168.1.137:8080/web");            //发布服务的地址
11         IWebService hw = (IWebService)svr.create();                 //然后调用create()方法创建动态代理
12  
13         System.out.println(hw.sayHi("翠花", 18));
14  
15     }
16  
17 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。