`
tedygrate
  • 浏览: 31346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

转 axis2 客户端调用wss4j 安全web服务的方法

阅读更多

public class DocCategoryWebServiceClientTest {

    /**
     * @param args
     * @throws RemoteException
     */
    public static void main(String[] args) throws RemoteException {
        // TODO Auto-generated method stub
        DocCategoryWebServiceImpServiceStub stub = new DocCategoryWebServiceImpServiceStub(
                "http://my.service.net:8080/test/services/DocCategoryWebService");
        String username = "admin";
        String password = "1";
        ServiceClient client = stub._getServiceClient();
        SOAP11Factory factory = new SOAP11Factory();

        OMNamespace SecurityElementNamespace = factory
                .createOMNamespace(
                        "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
                        "wsse");

        OMElement usernameTokenEl = factory.createOMElement("UsernameToken",
                SecurityElementNamespace);
        OMElement usernameEl = factory.createOMElement("Username",
                SecurityElementNamespace);
        OMElement passwordEl = factory.createOMElement("Password",
                SecurityElementNamespace);
        OMElement actionEl = factory.createOMElement("Action",
                SecurityElementNamespace);

        passwordEl
                .addAttribute(factory
                        .createOMAttribute(
                                "Type",
                                null,
                                "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"));

        usernameEl.setText(username);
        passwordEl.setText(password);
        usernameTokenEl.addChild(usernameEl);
        usernameTokenEl.addChild(passwordEl);
        usernameTokenEl.addChild(actionEl);
        SOAPHeaderBlockImpl block = new SOAP11HeaderBlockImpl("Security",
                SecurityElementNamespace, factory);
        block.addChild(usernameTokenEl);

        client.addHeader(block);

        DocCategoryWebServiceImpServiceStub.FindCategoryByParentId request = new DocCategoryWebServiceImpServiceStub.FindCategoryByParentId();
        DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdE requestE = new DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdE();
        request.setArg0("2");
        requestE.setFindCategoryByParentId(request);
        DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdResponseE response = stub
                .findCategoryByParentId(requestE);
        ListObject listObject = response.getFindCategoryByParentIdResponse()
                .get_return();
        if (listObject != null && listObject.getList() != null) {
            for (int i = 0; i < listObject.getList().length; i++) {
                Object ob = listObject.getList()[i];
                DocCategory cat = (DocCategory) ob;
                System.out.println(cat.getFdName());
            }
        }
    }
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bibitoo712/archive/2008/10/30/3184252.aspx

分享到:
评论

相关推荐

    axis2客户端调用服务端,带用户身份认证

    总的来说,实现“axis2客户端调用服务端,带用户身份认证”涉及理解Web服务安全概念,配置服务和客户端,以及编写适当的安全上下文代码。这不仅增加了服务的安全性,也为客户端和服务端之间的通信提供了可靠的信任...

    WebService:Axis客户端调用需要身份验证的CXF服务

    要深入学习这个主题,可以参考博客“WebService:Axis客户端调用需要身份验证的CXF服务”。这个博客很可能详细解释了如何在实际代码中实现上述步骤,包括如何配置Axis客户端、如何处理认证头以及如何与CXF服务进行...

    纯java调用ws-security+CXF实现的webservice安全接口

    本文将深入探讨如何使用CXF框架结合ws-security标准来实现对Java客户端调用Web服务的安全接口。CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务,而ws-security(Web Services Security)则是用于...

    Axis2中文手册

    2. **Rampart**:是Axis2的一个模块,主要负责WS-Security的实现,可能与WSS4J协同工作,确保服务的安全性。 3. **Sandesha2**:实现了WS-ReliableMessaging规范,确保消息的可靠传输,即使在网络不稳定的情况下也能...

    webservice客户端与服务器端的实现demo

    Axis是Apache组织开发的一个开源Web服务框架,它提供了全面的Web服务解决方案,包括服务器端的Web服务发布以及客户端的Web服务调用。AxisWSC可能是使用Axis实现的Web服务客户端。与XFire相似,客户端可以利用Axis的...

    Axis实例与分析详解

    - 生态系统:与Apache其他项目(如CXF、WSS4J等)兼容,构建复杂的Web服务解决方案。 总结,Axis作为Web服务开发的重要工具,为Java开发者提供了便捷的途径来创建和消费SOAP服务。通过理解其基本概念、安装过程以及...

    WebService服务的安全控制程序例子源码[Security- Web services the secure ]

    在"Server"部分的源码中,可能会看到实现这些安全特性的代码,如使用X.509证书进行SSL/TLS握手,或者使用WSS4J库实现WS-Security头的添加和验证。"Client"则可能包含相应的调用和服务请求,同时处理服务器返回的加密...

    BSN Webservice开发文档

    BSN Webservice 开发文档是针对电信CRM系统中Webservice服务构建的一份详细指南,它提供了在BSN(Basic Service Network)平台上开发Web服务的方法。BSN Webservice旨在提供高效且稳定的服务,已经在多个省级电信...

    国际天气webservice wsdl地址

    4. 使用工具或编程语言(如Java的 Axis, .NET的SoapUI等)来消费Web Service,调用天气查询接口。 5. 可能会涉及SOAP(简单对象访问协议),它是Web Service通信常用的协议,用于传输XML格式的数据。 6. 示例代码...

    java开源包11

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包1

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包2

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包4

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包3

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包6

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包5

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包10

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包8

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包7

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包9

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

Global site tag (gtag.js) - Google Analytics