Axis2解析
代码⽣成
Java to WSDL;WSDL to Java;XSD to WSDL;WSDL to XML;WSDL to SOAP;WSDL to Service;
Apache Axis2是⼀个基于Java的Web Service实现, 它提供了完整的对象模型和模块化的架构。
Axis2可以让你轻易的完成如下⼯作:
1. 发送SOAP消息
2. 接受和处理SOAP消息
3. 从⼀个纯Java类⽣成⼀个Web Service
4. 使⽤WSDL来创建服务端和客户端的实现类
5. ⾮常容易的从⼀个service来获取WSDL
6. 发送和接受带有附件的SOAP消息
7. 创建和使⽤REST的Web Service
8. 创建和使⽤带有WS-Security, WS-ReliableMessaging, WS-Addressing, WS-Coordination和WS-AtomicTransaction的Web Service.
9. 使⽤Axis2的模块化结构来容易的添加新的⽀持
1. 可以使⽤Server端密码验证
使⽤如下的命令⽣成客户端使⽤的stub 类:
%AXIS2_HOME%\bin\wsdl2java -uri localhost:8080/axis2/services/loginService?wsdl -p client -s -o stub
在stub\src\client ⽬录中⽣成了⼀个LoginServiceStub.java 类,在该类中到如下的构造句法:
public LoginServiceStub(org.t.ConfigurationContext configurationContext, String targetEndpoint, boolean useSeparateListener) throws org.apache.axis2.AxisFault
{
_Options().setSoapVersionURI( org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
}
在该⽅法中最后添加如下的代码:
// 第3 步:打开客户端的Session 管理功能
_Options().setManageSession(true);
下⾯的客户端代码使⽤LoginServiceStub 对象访问了刚才建⽴的WebService:
LoginServiceStub stub = new LoginServiceStub();
LoginServiceStub.Login login = new LoginServiceStub.Login();
login.setUsername("bill");
login.setPassword("1234");
service fault
if(stub.login(login).local_return)
{
System.out.LoginMsg().local_return);
}
运⾏上⾯的代码后,会输出“成功登录”信息
2. 可以使⽤ws:security