Java创建和使用webservice

原创 Laughing  2017-11-07 13:34  阅读 60 次 评论 0 条

通过eclipse创建webservice并通过wsdl以及直接引用url两种方式调用webservice

创建webservice

在eclipse下新建一个动态web项目

创建SayHello.java类
  1. package me.lisen.service;  
  2.   
  3. import javax.jws.WebService;  
  4. import javax.xml.ws.Endpoint;  
  5.   
  6. @WebService  
  7. public class SayHello {  
  8.   
  9.     public String Say() {  
  10.         System.out.println("Hello,world!");  
  11.         return"Hello,World";  
  12.     }  
  13.       
  14.     public static void main(String[] args) {  
  15.         // TODO Auto-generated method stub  
  16.         Endpoint.publish("http://localhost:9001/SayHello"new SayHello());  
  17.         System.out.println("发布成功");  
  18.     }  
  19.   
  20. }  

运行程序,在浏览器访问http://localhost:9001/SayHello?wsdl,如果出现如下界面标识发布成功

通过将wsdl编译成java类进行调用

开始→运行→cmd,输入一下代码
wsimport -s D:\OneDrive\个人资料\代码\JavaEEStudy\JaveEEStudy\src -p me.lisen.client.config -keep http://localhost:9001/SayHello?wsdl生成对应的java类型

代码说明

-s 后面的是你项目src所在的路径

  -p 后面的是你通过该命令生成的类所在的包

  -keep 表示导出webservice的class文件时是否也导出源代码java文件.

  -verbose表示详细信息。

  -d 表示输出的目录,目录必须事先存在,否则导出失败。

新建ClientToSay.java类,演示调用,代码如下

  1. package me.lisen.service;  
  2.   
  3. import me.lisen.client.config.SayHelloService;  
  4.   
  5. public class ClientToSay {  
  6.   
  7.     public static void main(String[] args) {  
  8.         // TODO Auto-generated method stub  
  9.         me.lisen.client.config.SayHello sayHello = new SayHelloService().getSayHelloPort();  
  10.         String result = sayHello.say();  
  11.         System.out.println(result);  
  12.     }  
  13.   
  14. }  

通过wsdl地址调用

  1. package me.lisen.service;  
  2.   
  3. import java.net.MalformedURLException;  
  4. import java.net.URL;  
  5.   
  6. import javax.xml.namespace.QName;  
  7. import javax.xml.ws.Service;  
  8. import javax.xml.ws.WebServiceClient;  
  9.   
  10. import com.sun.swing.internal.plaf.metal.resources.metal;  
  11.   
  12. import me.lisen.client.config.SayHelloService;  
  13.   
  14. @WebServiceClient  
  15. public class WsdlClientTest {  
  16.   
  17.     public static void main(String[] args) {  
  18.         // TODO Auto-generated method stub  
  19.         try {  
  20.             URL url = new URL("http://localhost:9001/SayHello?wsdl");  
  21.             /** 
  22.              * 第一个参数对应xml的targetNamespace,第二个为name 
  23.              */  
  24.             QName qName = new QName("http://service.lisen.me/""SayHelloService");  
  25.             Service service = Service.create(url, qName);  
  26.             me.lisen.client.config.SayHello sayHello = service.getPort(me.lisen.client.config.SayHello.class);  
  27.             String result = sayHello.say();  
  28.             System.out.println(result);  
  29.         } catch (MalformedURLException e) {  
  30.             // TODO Auto-generated catch block  
  31.             e.printStackTrace();  
  32.         }  
  33.   
  34.     }  
  35.   
  36. }  
本文地址:https://www.lisen.me/java-creates-and-uses-webservice.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情