码迷,mamicode.com
首页 > Web开发 > 详细

Webservice例子讲解

时间:2016-04-29 23:28:32      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

因为也是第一次使用到这样的技术,本人在这里通过一个例子记录了自己的一些心得,还望大家指出不好的地方,我们共勉。

webservice主要是用来交换数据和集成数据,目前主要用到的技术有TCP/IP,HTML,XML,.NET,Java

1、首先创建一个webservice项目,用于发布webservice服务

技术分享

 

MyWebservice就是一个用于发布service的类,MyWebservice.java:

 1 package com.webservice;
 2 
 3 import javax.jws.WebMethod;
 4 import javax.jws.WebService;
 5 import javax.xml.ws.Endpoint;
 6 
 7 @WebService
 8 public class MyWebService {
 9     // 方法一,用于发布
10     public String getS(String name) {
11         return "你好:" + name;
12     }
13 
14     // 方法二,不用于发布
15     @WebMethod(exclude = true)
16     public String getS2(String name) {
17         return "你好:" + name;
18     }
19 
20     public static void main(String[] args) {
21         Endpoint.publish("http://localhost/hello", new MyWebService());
22     }
23 }

注释:注解@webserivce用在此类上,表示将这个类发不成一个webservice

        注解@WebMethod(exclude = true)代表此方法不会被发布,待会儿后面会解释到

        Endpoint.publish(arg1,arg2)方法有两个参数:arg1代表的是你发布的地址,arg2代表的是服务的实现者

2、编译mywebservice.java类

3、查看wsdl(在浏览器地址栏中输入:http://localhost/hello(与wywebservice.java中一致)

只要能够看到以下的信息,说明已经发布成功

技术分享

到此为止,一个service就已经发布成功了

总结:

  a、在需要发布的类上添加注解@webservice

  b、通过endpoint.publish()方法发布一个service

  TIPS:类中的所有非静态方法都是可以被发布的

  不能被发布的情况:1、静态方法和final修饰的方法

                             2、方法上添加注解@WebMethod(exclude = true)

 

4、客户端访问发布的服务

 刚刚我们生成的WSDL文档你或许看不懂,但是那没关系,只要JAVA能识别就好。可以根据WSDL文档生成客户端调用的代码工具。

我们需要使用到的命令如下:

-d:生成class文件

-s:生成Java文件

-p:自定义包结构

wsimport -s .  -p com.myWebservice.client http://localhost/hello?wsdl

本人在E盘下的com/myWebservice/client目录下生成了.class文件和.java文件

命令运行:

技术分享

执行后生成的文件:

 技术分享

将所有的java文件拷贝到你的客户端的项目中,我的客户端项目已准备好,且将生成的文件全部拷贝到客户端项目下:

技术分享
技术分享
5、创建测试程序:
Myclient代码如下:
 1 package webservice_client;
 2 
 3 import com.webservice.MyWebService;
 4 import com.webservice.MyWebServiceService;
 5 
 6 public class Myclient {
 7 public static void main(String[] args) {
 8     MyWebServiceService mss = new MyWebServiceService();
 9     MyWebService ms = mss.getMyWebServicePort();
10     String s = ms.getS("clplee");
11     System.out.println(s);
12 }
13 }

6、测试结果在控制台输出:

技术分享

到此为止,一个webservice的例子已经创建成功。

 

Webservice例子讲解

标签:

原文地址:http://www.cnblogs.com/clplee/p/5447049.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!