首页 课程 师资 教程 报名

Java WebService接口生成和调用-图文详解

  • 2019-10-15 09:52:41
  • 16751次 动力节点

Java webservice简介:

WebService技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据WebService规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。WebService是自描述、自包含的可用网络模块,可以执行具体的业务功能。WebService也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。WebService减少了应用接口的花费。WebService为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制

一、Java WebService生成

1.在eclipse或myclipse新建一个Web项目,并新建一个class类,用于发布;

image.png

2.编写供客户端调用的方法,即编译方法代码;

示例:

importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.xml.ws.Endpoint;
/**
*Title:ServiceHello
*Description:基于jdk1.6以上的javax.jws发布webservice接口
@WebService-它是一个注解,用在类上指定将此类发布成一个ws。
Endpoint–此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解
对象绑定到一个地址的端口上。
*Version:1.0.0
*@authorpanchengming
*/
@WebService
publicclassJwsServiceHello{
/**供客户端调用方法该方法是非静态的,会被发布
*@paramname传入参数
*@returnString返回结果
**/
publicStringgetValue(Stringname){
return"欢迎你!"+name;
}
/**
*方法上加@WebMentod(exclude=true)后,此方法不被发布;
*@paramname
*@return
*/
@WebMethod(exclude=true)
publicStringgetHello(Stringname){
return"你好!"+name;
}
/**静态方法不会被发布
*@paramname
*@return
*/
publicstaticStringgetString(Stringname){
return"再见!"+name;
}
//通过EndPoint(端点服务)发布一个WebService
publicstaticvoidmain(String[]args){
/*参数:1,本地的服务地址;

3.提供服务的类;

*/
Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello",newJwsServiceHello());
System.out.println("发布成功!");
//发布成功后在浏览器输入http://192.168.1.105:8080/Service/ServiceHello?wsdl
}
}

4.进行编译运行(注:失败检查jdk版本)

image.png

5.将所设地址加上?wsdl到浏览器上访问,如出现XML格式代码,则发布成功,反之,则否;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)

image.png

二、WebService调用方法

生成代码方式一

1.新建一个class类,用于调用webservice。右键src,找到WebServiceClient,并输入wsdl地址,选择下载代码的路径;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)

image.png

image.png

2.将地址上的文件下载下来(注意和发布JDK一致);

3.写调用方法调用下载下来的WebService中的java类中的方法;

示例:

importcom.pcm.ws.jws.JwsServiceHello;
importcom.pcm.ws.jws.JwsServiceHelloService;
/**
*
*Title:JwsClientHello
*Description:webService客户端调用
*Version:1.0.0
*@authorpanchengming
*/
publicclassJwsClientHello{
publicstaticvoidmain(String[]args){
//调用webservice
JwsServiceHellohello=newJwsServiceHelloService().getJwsServiceHelloPort();
Stringname=hello.getValue("panchengming");
System.out.println(name);
}
}

image.png

生成代码方式二

1.创建WebServiceProject,命名为TheClient。

2.在dos命令下输入wsimport-s“src目录”-p“生成类所在包名”-keep“wsdl发布地址”

示例:wsimport-sG:workspacewebServicewebService_Projectsrc-pcom.pcm.ws.jws-keephttp://192.168.1.105:8080/Service/ServiceHello?wsdl

3.成功则返回parsingWSDL… 

generatingcode…
compilingcode…

4.刷新项目,生成类;

5,写调用方法(同上);

三、总结:

如何发布一个Web服务:

a,在类上添加@WebService注解(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)

b,通过EndPoint(端点服务)发布一个WebService(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于javax.xml.ws.Endpoint包中)

c,注:类上添加注解@WebService,类中所有非静态方法都会被发布;

静态方法和final方法不能被发布;方法上加@WebMentod(exclude=true)后,此方法不被发布;

以上就是动力节点java培训机构小编介绍的“Java WebService接口生成和调用 图文详解”的内容,希望对大家有帮助,更多java最新资讯请继续关注动力节点java培训机构官网,每天会有精彩内容分享与你。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交