axis2+spring开发webservice服务器端
2020-12-13 16:09
标签:代码 存储 update uri osi nal line servlet XML 需求:开发VAC与SP间订购通知接口服务器端(SP端),给定VacSyncService_SPClient.wsdl文件 首先,官网下载axis2-1.6.2-bin.zip和axis2-1.6.2-war.zip 1.根据wsdl生成服务器端代码 假设wsdl文件存放于D盘根目录,将服务器端代码生成到D:gen_code目录: 参数说明: cmd里执行如上命令之后,d:gen_code会生成如下文件: 2.根据wsdl生成客户端代码 使用:在代码中调用刚刚生成的以Stub结尾的类,可以测试服务器端 3.新建maven web项目 将生成的服务器端和客户端代码复制到项目中,服务器端代码中以Skeleton结尾的类需要修改并添加业务逻辑代码 修改services.xml为 原文:大专栏 axis2+spring开发webservice服务器端 axis2+spring开发webservice服务器端 标签:代码 存储 update uri osi nal line servlet XML 原文地址:https://www.cnblogs.com/wangziqiang123/p/11618300.html
axis2-1.6.2-bin.zip包含axis2的jar包,工具和例子
axis2-1.6.2-war.zip包含了axis2的web应用,发布web服务时,将自己的程序以特定文件结构发布到axis2的web应用的service目录中
解压axis2-1.6.2-bin.zip, cmd命令行进入到axis2-1.6.2bin:
1
cd D:axis2axis2-1.6.2bin
1
WSDL2Java -uri D:VacSyncService_SPClient.wsdl -p com.example -s -ss -sd -ssi -o d:gen_code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 -o : 指定生成代码的输出路径
-a : 生成异步模式的代码
-s : 生成同步模式的代码
-p : 指定代码的package名称
-l : 使用的语言(Java/C) 默认是java
-t : 为代码生成测试用例
-ss : 生成服务端代码 默认不生成
-sd : 生成服务描述文件 services.xml,仅与-ss一同使用
-d : 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri
-g : 生成服务端和客户端的代码
-pn : 当WSDL中有多个port时,指定其中一个port
-sn : 选择WSDL中的一个service
-u : 展开data-binding的类
-r : 为代码生成指定一个repository
-ssi : 为服务端实现代码生成接口类
-S : 为生成的源码指定存储路径
-R : 为生成的resources指定存储路径
--noBuildXML : 输出中不生成build.xml文件
--noWSDL : 在resources目录中不生成WSDL文件
--noMessageReceiver : 不生成MessageReceiver类
/gen_code
/gen_code/resources
/gen_code/resources/services.xml
/gen_code/resources/SyncNotifySPServiceService.wsdl
/gen_code/src
/gen_code/build.xml
cmd命令行进入到axis2-1.6.2bin:
1
WSDL2Java -uri D:myWebService.wsdl -o d:ws_client
项目的spring配置略…
pom.xml需要添加axis2的依赖
[code lang=”xml”]
axis2-kernel
axis2-adb
axis2-transport-http
axis2-jaxws
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
将axis2-1.6.2-war.zip中的war包解压,解压后WEB-INF下的conf,modules,services复制到项目的WEB-INF下
web.xml中的内容复制到web项目的web.xml中,要复制的内容:
[code lang="xml"]
此类的spring配置
[code lang=”xml”]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
在web项目的WEB-INF/services目录下建立自己的webservice目录,如下:
WEB-INF/services/MyWebservice
WEB-INF/services/MyWebservice/META-INF
WEB-INF/services/MyWebservice/META-INF/services.xml
其中的services.xml为之前已生成的/gen_code/resources/services.xml
services.xml内容
[code lang="xml"]
http://soap.bossagent.vac.unicom.com/SyncNotifySPService/orderRelationUpdateNotifyRequest
[code lang=”xml” highlight=”10,11”]
http://soap.bossagent.vac.unicom.com/SyncNotifySPService/orderRelationUpdateNotifyRequest
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26SpringBeanName的值与spring中配置的bean一致
useOriginalwsdl设置为false时,由axis2生成wsdl文件
**4.测试代码**
```java
public class Test {
static SyncNotifySPServiceServiceStub service;
static {
try {
service = new SyncNotifySPServiceServiceStub("http://localhost:8080/vacsyncservice/services/SyncNotifySPServiceService");
} catch (AxisFault e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws RemoteException {
System.out.println("begin...");
OrderRelationUpdateNotify orderRelationUpdateNotify = new OrderRelationUpdateNotify();
OrderRelationUpdateNotifyRequest param = new OrderRelationUpdateNotifyRequest();
orderRelationUpdateNotify.setOrderRelationUpdateNotifyRequest(param);
OrderRelationUpdateNotifyResponseE respE = service.orderRelationUpdateNotify(orderRelationUpdateNotify);
OrderRelationUpdateNotifyResponse resp = respE.getOrderRelationUpdateNotifyReturn();
System.out.println("ResultCode:" + resp.getResultCode());
}
}
上一篇:PHP实现Hash算法
下一篇:闲话js作用域
文章标题:axis2+spring开发webservice服务器端
文章链接:http://soscw.com/essay/35828.html