webservice、soap、wsdl的理解
来源:互联网 发布:5s能用4g网络吗 编辑:程序博客网 时间:2024/05/21 13:53
1webservice是一个概念,就是别人调用我工程的某个类中的某个方法。就是别人工程和我的工程进行通信。通信是跨平台的,如别人的工程是.net,我的工程是java的,也可以实现别人对我某个类中某方法的调用。
web service 概念参考链接:http://www.cnblogs.com/Jessy/p/3528341.html
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明。
2怎么发布一个web service?
通过Apache的axis发布webservice
参考链接:http://blog.csdn.net/trocp/article/details/6757063
=====================================过程如下===============================
首先,AXIS 是apache的作品。
1.到apache去下载相关的包,包括axis.jar、axis-ant.jar、commons-discovery-0.2.jar等。将jar包放到WEB-INF/lib下面
2.在WEB.XML中按如下配置,直接copy进去就可以
3.创建一个webservice类,就是一个普通的类包含一个普通方法
4.配置server-config.wsdd,server-config.wsdd的路径在WEB-INF下面,参考第一张图。
配置文件中有的东西不固定,在文件注释中描述得很清楚。针对第二步中的类,我们只看配置中的示例1,其中红色标记部分是实现类的路径,注意校正就OK。
5.这样一个最基本的webservice就布好了,运行服务器(本例中是tomcat 6)。在地址栏中输入
http://127.0.0.1:8080/appName/services
注意校正URL,services是固定的。
运行后会列出本应用服务器上发布的webservice
点我们刚才那个 WSTest1,会出现
当别人引用webservice时,一般是用http://localhost:8080/DemoLanZhou/services/WSTest1?wsdl这个地址来引用的
6.开着服务器,等着别人来引用。
也可以在浏览器测试一下http://localhost:8080/DemoLanZhou/services/WSTest1?method=hello&args=tp
注意校正地址,参数中method=hello表示调用hello方法,args=tp是传给hello方法的参数。hello方法就是SayHello.hello();最上面定义的那个类。
上图中选中部分为方法返回的值。
至此完成一个基本的webservice。
===
别人要调用我的某个类的某方法,代码如下:
String endpoint = "http://localhost:8080/DemoLanZhou/services/WSTest1?wsdl";//指定类名
String operation = "hello";//指定方法名
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
Call call;
try {
call = (Call) service.createCall();
try {
call.setTargetEndpointAddress(new java.net.URL(endpoint));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
call.setOperationName(operation);
try {
String art = (String) call.invoke(new Object[] { "TOM" });//获取返回值
} catch (RemoteException e) {
e.printStackTrace();
}
} catch (ServiceException e) {
e.printStackTrace();
}
=================总结==================
通过axis发布webservice(发布的就是某个类,类中有各种方法),只需要以下工作:
1导入axis相关jar包
2web.xml配置,引入axis。
3axis的wsdd配置文件,指定要发布的类。
开发人员不需要关注wsdl、soa,这些是axis替你做了。你只关注自己要发布的类和方法即可。
- webservice、soap、wsdl的理解
- 理解webservice SOAP WSDL
- webservice SOAP WSDL 基础概念的理解
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 深入理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- 彻底理解webservice SOAP WSDL
- Eclipse下修改默认的debug.keystrore
- PyGobject(一百零四)CSS系列——在TextView中显示样式,可修改
- Design库-TabLayout属性详解
- TreeSet集合那点事
- snprintf函数用法及与sprintf比较
- webservice、soap、wsdl的理解
- mv 移动文件与目录,或更名
- 51nod:1079 中国剩余定理
- 锁与volatile的内存语义
- Java并发编程四:并发(Concurrent)与并行(Parallel)区别(二)
- epoll是linux内核新特性
- kill session 被标记为killed
- JDBC连接数据库并实现增删查改
- [刷题]算法竞赛入门经典(第2版) 4-5/UVa1590 - IP Networks