web rvice技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。将军们的情书依据web rvice规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。web rvice是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。web rvice也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集xml、http。web rvice减少了应用接口的花费。web rvice为整个企业甚 查找至多个组织之间的业务流程的集成提供了一个通用机制
1.在eclip或myclip新建一个web项目,并新建一个class类,用于发布;
2.编写供客户端调用的方法,即编译方法代码;
示例:
import javax.jws.webmethod;
import javax.jws.webrvice;
import javax.xml.ws.endpoint;
/**
* title: rvicehello
* description: 基于jdk1.6以上的javax.jws 发布webrvice接口
@webrvice - 它是一个注解,用在类上指定将此类发布成一个ws。
endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@webrvice注解
对象绑定到一个地址的端口上。
* version:1.0.0
* @author panchengming
*/
@webrvice
public class jwsrvicehello {
/** 供客户端调用方法 该方法是非静态的,会被发布
* @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(端点服务)发布一个webrvice
public static void main(string[] args) {
/*参数:1,本地的服务地址;
2,提供服务的类;
*/
endpoint.publish(“http://192.168.1.105:8080/rvice/rvicehello”, new jwsrvicehello());
system.out.println(“发布成功!”);
//发布成功后 在浏览器输入
http://192.168.1.105:8080/rvice/rvicehello?wsdl
}
}
3.进行编译运行(注:失败检查jdk版本)
4.将所设地址加上?wsdl到浏览器上访问,如出现xml格式代码,则发布成功,反之,则否;(url:
http://192.168.1.105:8080/rvice/rvicehello?wsdl)
生成代码方式一
1.新建一个class类,用于调用webrvice。右键src,找到web rvice client,并输入wsdl地址,选择下载代码的路径;(url:
http://192.168.1.105:8080/rvice/rvicehello?wsdl)
2.将地址上的文件下载下来(注意和发布jdk一致);
3.写调用方法调用下载下来的webrvice中的java类中语文考试分析的方法;
示例:
import com.pcm.ws.jws.jwsrvicehello;
import com.pcm.ws.jws.jwsrvicehellorvice;
/**
*
* title: jwsclienthel故什么意思lo
* description: webrvice 客户端调用
* version:1.0.0
* @author panchengming
*/
public class jwsclienthello {
public static void main(string[] args) {
//调用webrvice
jwsrvicehello hello=new jwsrvicehellorvice().getjwsrvicehelloport();
string name=hello.getvalue(“panchengming”);
system.out.println(name);
}
}
生成代码方式二
1.创建web rvice project,命名为theclient。
2.在dos命令下输入 wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”
示例:wsimport -s g:workspacewebrvicewebrvice_projectsrc -p com.pcm.ws.jws -keep
http://192.168.1.105:8080/rvice/rvicehello?wsdl
3.成功则返回 parsing wsdl…
generating code…
compiling code…
4.刷新项目,生成类;
5,写调用方法(同上);
三、总结:
如何发布一个web服务:
a,在类上添加@webrvice注解
吃枇杷的禁忌(注:此注解是jdk1.6提供的,位于javax.jws.webrvice包中)
b,通过endpoint(端点服务)发布一个webrvice
(注:endpoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于 javax.xml.ws.endpoint包中)
c,注:
类上添加注解@webrvice,类中所有非静态方法都会被发布;
静态方法和final方法不能被发布;
方法上加@webmentod(exclude=true)后,此方法不被发布;
本文发布于:2023-04-05 06:44:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/2be1f48c2625dc3b6fcbf96c3c96958d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:webservice原理和技术(webservice和api的区别).doc
本文 PDF 下载地址:webservice原理和技术(webservice和api的区别).pdf
留言与评论(共有 0 条评论) |