码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA项目中公布WebService服务——简单实例

时间:2017-06-26 22:31:55      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   java项目   shell   word   jax-ws   调用   执行   sim   article   

1。在Java项目中公布一个WebService服务:

怎样公布?

——JDK1.6JAX-WS规范定义了怎样公布一个WebService服务。

(1)jdk1.6.0_21以后的版本号公布。

(2)Web服务相关的类,都位于Javax.jws.*包中

        @WebService——此注解用在类上指定将此类公布成一个WebService

        EndPoint——此类为端点服务类,当中publish()方法用于将一个已经加入了@WebService注解对象绑定到一个地址的port上,用于公布。

 

2。样例:

(1)公布WebService服务

技术分享

HelloWebService.java:

<span style="font-family:KaiTi_GB2312;font-size:18px;">package cn.tgb.ws;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.xml.ws.Endpoint;
/**
 *  @WebService - 它是一个注解,用在类上指定将此类公布成一个ws.
    Endpoint – 此类为端点服务类。它的方法publish用于将一个已经加入了@WebService注解对象绑定到一个地址的端口上。
 
 * @author xuemin
 *
 */
@WebService
public classHelloWebService {
 
publicString HelloWord(String name){
return"Hello: "+name;
}
 
/**
 *加入exclude=true后,HelloWord2()方法不会被公布
 * @param name
 * @return
 */
@WebMethod(exclude=true)
publicString HelloWord2(String name){
return"Hello: "+name;
}
publicstatic void main(String[] args) {
/**
 *參数1:服务的公布地址
 *參数2:服务的实现者
 */
Endpoint.publish("http://192.168.24.138:456/helloWord",new HelloWebService());
 
}
 
}</span>

注:

@WebService 它是一个注解,用在类上指定将此类公布成一个ws.

    Endpoint –此类为端点服务类。它的方法publish用于将一个已经加入了@WebService注解对象绑定到一个地址的port上。

 

执行以上程序进行公布。

 

(2)查看wsdl

地址:http://192.168.24.138:456/helloWord?wsdl

仅仅要在client浏览器能看到此WSDL文档。说明服务公布成功

技术分享

以上服务公布成功。

总结:

怎样公布一个Web服务:

a,在类上加入@WebService注解

(注:此注解是jdk1.6提供的。位于javax.jws.WebService包中)

b,通过EndPoint(端点服务)公布一个WebService

(注:EndPointjdk提供的一个专门用于公布服务的类。该类的publish方法接收两个參数,一个是本地的服务地址。二是提供服务的类。位于 javax.xml.ws.Endpoint包中)

c,注:

类上加入注解@WebService,类中全部非静态方法都会被公布;

静态方法和final方法不能被公布。

方法上加@WebMentod(exclude=true)后,此方法不被公布;

(3)client訪问公布的服务

依据WSDL文档来在client编写代码,訪问公布的服务。

可是,WSDL文档看不懂怎么办?代码该怎样编写?

——你看不懂,JDK看得懂。wsimportJDK自带的,能够依据WSDL文档生成client调用代码的工具。不管server端WebService使用什么语言编写的,豆浆在client生成Java代码。所以server用什么语言编写的并不重要。

wsimport.exe命令參数熟知:

    -d:生成class文件。默认參数。

    -s:生成Java文件

   -p:自己定义包结构

 

解析地址生成源代码到E盘:

技术分享

 

运行以上命令后。就可以在E盘下生成例如以下包及类

技术分享

 

注:还能够自己定义包结构:

自己定义包结构的命令:

技术分享

 

技术分享

 

将生成的包及.java文件拷贝到client:例如以下图

技术分享

 

创建訪问服务的类:MyClient.java:

技术分享

 

MyClient.java:

<span style="font-family:KaiTi_GB2312;font-size:18px;">package cn.tgb.ws;
 
public classMyClient {
 
  publicstatic void main(String[] args) {
     HelloWebServiceServicehwss = new HelloWebServiceService();
 
     HelloWebServicehws = hwss.getHelloWebServicePort();
 
     Stringresult=hws.helloWord("hanxuemin");
     System.out.println(result);
  }
 
}</span>

 

(4)执行结果:

技术分享


总结:

通过此篇博客,应该掌握到:怎样公布一个Java Web服务。怎样在client訪问公布的Web服务。

JAVA项目中公布WebService服务——简单实例

标签:style   java项目   shell   word   jax-ws   调用   执行   sim   article   

原文地址:http://www.cnblogs.com/slgkaifa/p/7082610.html

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