`
dyccsxg
  • 浏览: 205294 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

CXF 发布WebService - 客户端调用

 
阅读更多

1. 一个客户端用户名密码回调类

package org.demo.ws.client;

import java.io.IOException;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import org.apache.ws.security.WSPasswordCallback;

public class ClientPasswordCallback implements CallbackHandler
{
    @Override
    public void handle(Callback[] callbacks) throws IOException,
            UnsupportedCallbackException
    {
        WSPasswordCallback pwCallback = (WSPasswordCallback)callbacks[0];
        pwCallback.setIdentifier("user1");
        pwCallback.setPassword("password1");
    }
}

2. src/ws-client.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd" >
    
    <bean id="clientPasswordCallback" class="org.demo.ws.client.ClientPasswordCallback" />
    <bean id="wSS4JOutInterceptor" class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
        <constructor-arg>
            <map>
                <entry key="action" value="UsernameToken" />
                <entry key="passwordType" value="PasswordText" />
                <entry key="user" value="cxfClient" />
                <entry key="passwordCallbackRef">
                    <ref bean="clientPasswordCallback" />
                </entry>
            </map>
        </constructor-arg>
    </bean>
    
    <jaxws:client id="helloWorld" serviceClass="org.demo.ws.HelloWorld" 
        address="http://localhost:8080/spring/services/hello">
        <jaxws:outInterceptors>
            <ref bean="wSS4JOutInterceptor" />
        </jaxws:outInterceptors>
    </jaxws:client>
    
</beans>

3. 一个客户端测试类

package org.demo.ws.client;

import org.demo.ws.HelloWorld;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class WsClient
{
    
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("ws-client.xml");
        HelloWorld bean = (HelloWorld)ctx.getBean("helloWorld");
        String result = bean.sayHi("xiao ming");
        System.out.println("result is " + result);
    }
    
}

//

分享到:
评论

相关推荐

    springboot整合CXF发布webservice和客户端调用

    - 对于客户端调用,可以使用CXF的`JaxWsProxyFactoryBean`创建服务代理对象,然后调用其方法进行服务调用。 4. **项目结构** - `.classpath`和`.project`是Eclipse IDE的项目配置文件。 - `pom.xml`是Maven的...

    使用CXF和camel-cxf调用webservice

    3. **调用服务**:一旦客户端准备好,就可以通过CXF客户端API来调用服务方法,传递必要的参数并接收响应。 Apache Camel 是一个强大的集成框架,它提供了一种声明式的方式来定义和路由消息流。camel-cxf是Camel的一...

    Java webservice cxf客户端调用demo和服务端

    Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...

    cxf的webservice的客户端代码

    在这个“cxf的webservice的客户端代码”主题中,我们将深入探讨如何使用CXF框架来构建一个能够与Web服务交互的客户端。 首先,创建CXF Web服务客户端的核心在于理解服务代理的生成。CXF提供了WSDL2Java工具,可以从...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    本教程将详细介绍如何利用Spring Boot与CXF进行集成,以发布Web服务并实现用户和密码验证的客户端调用。 首先,我们需要在Spring Boot项目中引入CXF的依赖。这通常通过在`pom.xml`文件中添加对应的Maven依赖来完成...

    Java cxf开发webservice,分别有客户端和服务端

    2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...

    cxf 开发webservice客户端

    本篇文章将详细探讨如何利用CXF框架开发一个Web服务客户端,以及如何进行测试。 一、CXF简介 CXF全称CXF CXF (Continued eXtensible Framework),它是一个Java框架,提供了创建和消费Web服务的能力。CXF支持WS-*...

    CXF 2.4 WebService 发布和调用的身份验证和获取示例代码

    1. 发布和调用WebService: 使用CXF2.4(http://cxf.apache.org)和spring 2. 调用安全性: 使用简单的USERNAME_TOKEN 3. 服务程序中取得调用者身份 ------------------------- 接口 ------------------------- intf....

    CXF-WebService-开发指南、技术文档.docx

    它提供了强大的服务实现和客户端调用能力,支持多种协议和规范,如JAX-WS、JAX-RS等。本指南将详细介绍如何使用CXF进行Web服务开发。 **一、CXF WebService 准备工作** 1. **官方网址**:[http://cxf.apache.org/]...

    webservice的cxf框架客户端调用所需jar包

    在使用CXF框架进行Web服务客户端调用时,需要依赖一系列的JAR包来确保功能的正常运行。这些JAR包包含了CXF框架的核心组件、XML处理库、数据序列化工具、缓存机制、消息队列通信以及Spring框架的支持。 1. `cxf-core...

    CXF动态webservice客户端demo

    这个"CXF动态webservice客户端demo"是为了演示如何使用CXF库创建一个动态调用Web服务接口的客户端应用程序。 首先,我们需要了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过...

    CXF 一个完整的webService(整合客户端和服务端)

    - **客户端代理**:CXF自动生成客户端代码,方便调用服务。 **2. 创建Web服务端** 在CXF中,服务端的开发通常涉及以下步骤: 1. 定义服务接口:使用Java接口定义服务方法。 2. 实现服务接口:编写具体的业务逻辑...

    CXF作为客户端调用webService的demo

    用CXF作为客户端调用webService的demo:本人亲测可用,eclipse工程项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

    idea + spring4.3.7.RELEASE+cxf3.1.0整合+客户端调用

    客户端调用这部分,IDEA提供了方便的工具——"Java Enterprise"中的"Web Services Client"。通过这个功能,我们可以导入服务的WSDL(Web Service Description Language)文件,自动生成对应的客户端代理类。这些代理...

    CXF webservice 动态地址客户端相关代码和jar包

    在CXF中,动态地址客户端是指能够根据运行时的信息(如服务器地址、端口等)动态改变服务调用目标的能力。这种功能在分布式系统和云环境中非常有用,因为服务的IP或端口可能会发生变化。 以下是对CXF Webservice...

    CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码

    这里提到的jar包是CXF运行时环境的一部分,用于支持Web服务的发布、调用以及相关的功能。 1. **CXF-2.6.1.jar**:这是Apache CXF的核心库,包含了Web服务开发所需的主要组件和类。这个版本的CXF提供了WS-*标准的...

    cxf开发webservice客户端和服务器端文档

    cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice客户端和服务器端。它提供了许多有用的功能,如自动生成服务桩、客户调用桩和WSDL文档等,使得开发webservice...

    cxf webservice所需jar包

    总的来说,CXF的jar包集合是构建高效、可靠Web服务的关键组件,它们共同构成了一个强大的工具链,帮助开发者轻松实现服务的创建、发布、调用以及与其他Web服务的交互。正确理解和使用这些jar包,能够提升开发效率,...

    SpringBoot框架及CXF发布WebService

    在给定的压缩包文件中,"WebService_Server"可能包含了SpringBoot与CXF集成的服务器端代码示例,而"Webservice_Client"则可能包含CXF客户端调用服务的示例代码。这两个部分可以作为学习和实践SpringBoot发布和消费...

Global site tag (gtag.js) - Google Analytics