一.理论知识
(1)webservice三个要素:
wsdl web service的服务描述语言,说明书
SOAP 简单对象访问协议
UDDI 目录访问服务,主要用于搜索服务, 搜索对方提供了什么服务
(2)webservice的简单原理
基于http的发送了SOAP协议的数据 (xml数据)远程调用技术
使用webservice开发好一个服务端
使用webservice开发一个客户端(基于wsdl说明书生成)
(二)
1.本地服务器访问
(1)服务端创建:
1>.创建接口 SEI接口(Service Endponit Interface)
2>.创建接口的实现类
3>.发布,EndPoint.publish(地址,对象)
(2)客户端创建:
1 进入想要生成代码的目录:
cd+/d+src路径(注:加/d可以直接到显示的目录下)
2使用jdk提供的一个指令(需要环境变量) wsimport:
wsimport -s . wsdl的地址
3 等待解析wsdl完成.刷新客户端工程.
(3)测试类:
1>.创建接口的实现类对象:new一个出来
2>.通过反射获取接口对象
MobileCodeWSSoap port = 实现类对象.getPort(MobileCodeWSSoap.class);
3>.调用方法
port.方法();
2.远程访问方式一:
注意:不需要创建服务端
(1)客户端创建:
1>.进入想要生成代码的目录:
cd+/d+src路径(注:加/d可以直接到显示的目录下)
2>.使用jdk提供的一个指令(需要环境变量) wsimport:
wsimport -s . wsdl的地址
3>. 等待解析wsdl完成.刷新客户端工程.
(2)测试类:
1>.创建接口的实现类对象:new一个出来
2>.通过反射获取接口对象
MobileCodeWSSoap port = 实现类对象.getPort(MobileCodeWSSoap.class);
3>.调用方法
port.方法();
2.2远程访问方式二:
1>.创建一个url,用于获取wsdl说明书
URL url = new URL("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl");
2>. 声明那个空间下(namespace)的服务
QName qName = new QName("http://WebXml.com.cn/","MobileCodeWS");
3>.根据url和qname创建服务对象
Service service = Service.create(url, qName);
4>.进入想要生成代码的目录:
cd+/d+src路径(注:加/d可以直接到显示的目录下)
5>.使用jdk提供的一个指令(需要环境变量) wsimport:
wsimport -s . wsdl的地址
6>.等待解析wsdl完成.刷新客户端工程.
7>.通过反射获取接口对象
MobileCodeWSSoap port = service.getPort(MobileCodeWSSoap.class);
8>.调用方法