快速业务通道

WebService大讲堂之Axis2(5):会话(Session)管理 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
getProperty("login"); } }

WebService大讲堂之Axis2(5):会话(Session)管理(2)

时间:2011-08-13 BlogJava 哈佛校训

在LoginService类中有两个方法:login和getLoginMsg,如果login方法登录成功,会将“成功登录” 字符串保存在ServiceContext对象中。如果在login方法返回true后调用getLoginMsg方法,就会返回“成 功登录”。

下面是LoginService类的配置代码(services.xml):

<!--  第2步:添加scope属性  -->
<service name="loginService" scope="transportsession">
    <description>
        登录服务
        </description>
    <parameter name="ServiceClass">
        service.LoginService
        </parameter>
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
            class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    </messageReceivers>
</service>

使用如下的命令生成客户端使用的stub类:

%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/loginService? wsdl -p client -s -o stub

在stub\src\client目录中生成了一个LoginServiceStub.java类,在该类中找到如下的构造句方法:

public LoginServiceStub(org.apache.axis2.context.ConfigurationContext 

configurationContext,
        java.lang.String targetEndpoint, boolean useSeparateListener)
        throws org.apache.axis2.AxisFault 
{
     ... ...
    _serviceClient.getOptions().setSoapVersionURI(
                                 

org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
}

在该方法中最后添加如下的代码:

// 第3步:打开客户端的Session管理功能 _serviceClient.getOptions().setManageSession(true);

下面的客户端代码使用LoginServiceStub对象访问了刚才建立的WebService:

LoginServiceStub stub = new LoginServiceStub(); LoginServiceStub.Login login = new LoginServiceStub.Login(); login.setUsername("bill"); login.setPassword("1234"); if(stub.login(login).local_return) { System.out.println(stub.getLoginMsg().local_return); }

运行上面的代码后,会输出“成功登录”信息。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号