Axis生成webservice客户端代码
工具包地址
链接: https://pan.baidu.com/s/1fJbCcRoojkGSm9PiPiBWDA
提取码: wzyy
进入工具内部,在其中建立
axis.bat
文件
内容如下
Axis_Lib:就是指上图axis-1_4
文件夹
Java_Cmd:在cmd中运行java -Djava.ext.dirs
命令生成java文件,存放路径为上面的Axis_Lib
org.apache.axis.wsdl.WSDL2Java:axis的固有命令
-p:指定java文件生成包名为client
最后是xml路径,将要生成客户端的webservice
的wsdl
内容粘贴到C:\java\EAS\ws-client\wsdl\EASLogin.xml
中
set Axis_Lib=.\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -p client C:\java\EAS\ws-client\wsdl\EASLogin.xml
pause
双击
axis.bat
文件运行,弹出cmd如下则成功,按任意键继续
看到代码已经生成
使用
直接连包一起粘贴到idea中,最好不要放在现有项目包路径下,不然就需要修改代码路径,粘贴完记得rebuild代码
然后写一个方法直接调用生成的proxy即可
- webservice服务端的方法,都在
xxxxProxy
中。 - 先用
xxxxProxyServiceLocator
创建xxxxProxyService
。 - 再用
xxxxProxyService
去获取xxxxProxy
。 - 最后用
xxxxProxy
调用对应的 webservice 方法。
import client.*;
import javax.xml.rpc.ServiceException;
import java.rmi.RemoteException;
public class LoginTest {
public static void main(String[] args) {
try {
//先用 xxxxProxyServiceLocator 创建 xxxxProxyService
EASLoginProxyService service = new EASLoginProxyServiceLocator();
//再用 xxxxProxyService 去获取 xxxxProxy, 最后用 xxxxProxy 调用对应的webservice方法
EASLoginProxy proxy = service.getEASLogin();
/**
* 各项接口参数
*/
String userName = "xdgt";
String password = "123456";
String slnName = "eas";
String dcName = "gg01";
String language = "L2";
Integer dbType = 2;
WSContext ctx = proxy.login(userName, password, slnName, dcName, language, dbType);
//成功登录后打印sessionId
System.out.println(ctx.getSessionId());
} catch (RemoteException | ServiceException e) {
e.printStackTrace();
}
}
}