内容简介:webservice简介:Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减
webservice简介:
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制
一、 WebService生成
1.在eclipse或myclipse新建一个Web项目,并新建一个class类,用于发布;
2.编写供客户端调用的方法,即编译方法代码;
示例:
import javax.jws.WebMethod; import javax.jws.WebService; import javax.xml.ws.Endpoint;
/**
- Title: ServiceHello
- Description: 基于jdk1.6以上的javax.jws 发布webservice接口
@WebService - 它是一个注解,用在类上指定将此类发布成一个ws。
Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解
对象绑定到一个地址的端口上。 - Version:1.0.0
-
@author panchengming
*/
@WebService
public class JwsServiceHello {
/** 供客户端调用方法 该方法是非静态的,会被发布
- @param name 传入参数
- @return String 返回结果
- */
public String getValue(String name){
return "欢迎你! "+name;
}
/**
- 方法上加@WebMentod(exclude=true)后,此方法不被发布;
- @param name
- @return
*/
@WebMethod(exclude=true)
public String getHello(String name){
return "你好! "+name;
}
/** 静态方法不会被发布
- @param name
-
@return
*/
public static String getString(String name){
return "再见!"+name;
}
//通过EndPoint(端点服务)发布一个WebService
public static void main(String[] args) {
/参数:1,本地的服务地址;
2,提供服务的类;
/Endpoint.publish(" http://192.168.1.105:8080/Service/ServiceHello ", new JwsServiceHello());
System.out.println("发布成功!");
//发布成功后 在浏览器输入 http://192.168.1.105:8080/Service/ServiceHello?wsdl
}
}
3.进行编译运行(注:失败检查jdk版本)
4.将所设地址加上?wsdl到浏览器上访问,如出现XML格式代码,则发布成功,反之,则否;
二、WebService调用方法
生成代码方式一
1.新建一个class类,用于调用webservice。右键src,找到Web Service Client,并输入wsdl地址,选择下载代码的路径;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl )
2.将地址上的文件下载下来(注意和发布JDK一致);
3.写调用方法调用下载下来的WebService中的 java 类中的方法;
示例:
import com.pcm.ws.jws.JwsServiceHello; import com.pcm.ws.jws.JwsServiceHelloService;
/**
-
- Title: JwsClientHello
- Description: webService 客户端调用
- Version:1.0.0
- @author panchengming
*/
public class JwsClientHello {
public static void main(String[] args) {
//调用webservice
JwsServiceHello hello=new JwsServiceHelloService().getJwsServiceHelloPort();
String name=hello.getValue("panchengming");
System.out.println(name);
}
}
生成代码方式二
1.创建Web Service Project,命名为TheClient。
2.在dos命令下输入 wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”
示例:wsimport -s G:\workspace\webService\webService_Project\src -p com.pcm.ws.jws -keep http://192.168.1.105:8080/Service/ServiceHello?wsdl
3.成功则返回 parsing WSDL…
generating code…
compiling code…
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)后,此方法不被发布;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- iOS objc_msgSend尾调用优化机制详解
- 远程方法调用RMI详解,和RPC的思路很相似
- go微服务框架go-micro深度学习(四) rpc方法调用过程详解
- 直观讲解-RPC调用和HTTP调用的区别
- 调用链系列一:解读UAVStack中的调用链技术
- 调用链系列二:解读UAVStack中的调用链技术
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Design Programs
Matthias Felleisen、Robert Bruce Findler、Matthew Flatt、Shriram Krishnamurthi / The MIT Press / 2001-2-12 / 71.00美元
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a var......一起来看看 《How to Design Programs》 这本书的介绍吧!