平时只写服务端接口,今天草草看了一眼客户端的代码,先记录一下,之后再深入了解。
1.新建一个java project,导入Axis2的jar包。
2.File->new->other,新建Axis2 code generator,选择Generate java source code from a WSDL file,点击NEXT,将WSDL地址写入,点击NEXT,来到以下窗口。Codegen Option项选择“custom”,表示自定义代码相关设置.Port Name选择“DemeServiceHttpSoap12Endpoint”,表示即将生成的客户端基础代码支持soap1.2这种协议发送/接受请求。Custom package name项在默认的包路径后再加上一个soap12Endpoint,因为我们除了会生成soap1.2/SSL协议外还会生成soap1.1/SSL以及http/SSL协议的客户端。勾选Generate Client code,即生成客户端代码。选择Generate both sync andasync.
点击NEXT,在下图中画框的地方输入代码输出位置。注意代码输出文件夹结构是上图中的Custom package name定义的,会自动在这个文件夹结构前加上src.所以代码输出位置只用到工程根目录就可以了。
finish.创建客户端代码:
package com.services.demo.service.soap12Endpoint
public class mgmallSoap12Client {
public static void main(String[] args) throws Exception {
//服务的ERP
String ERP="http://localhost:8080/123/services/DemoService/deleteEmployee";
//Stub 类将WebService 方法的参数都封装在了相应的类中,类名为方法名
DemoServiceStub stub = newDemoServiceStub(EPRString);
//获得方法对象实例
DemoServiceStub.DeleteEmployee deleteEmployee = new DemoServiceStub.DeleteEmployeedeleteEmployee();
//设置方法参数
deleteEmployee.setName("a");
deleteEmployee.setPay(123456);
//传入对象实例获得返回值。
System.out.println(stub.deleteEmployee(deleteEmployee).get_return());
}}