`
erichua
  • 浏览: 516396 次
  • 性别: Icon_minigender_2
  • 来自: 远方
社区版块
存档分类
最新评论

CXF客户端调用

阅读更多
上一篇我用acgei绑定的方式创建了一个Web Service。后面做一个Client进行调用验证一下。
java客户端
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package com.mms.webservice.client;



import java.util.List;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.mms.webservice.VendorMaintenance;
import com.mrm.model.other.Vendor;


public final class ClientVendor {

    private ClientVendor() {
    }

    public static void main(String args[]) throws Exception {
        // START SNIPPET: client
        ClassPathXmlApplicationContext context 
            = new ClassPathXmlApplicationContext(new String[] {"com/tnt/mms/webservice/client/client-vendor-beans.xml"});

        
        VendorMaintenance client = (VendorMaintenance)context.getBean("client");

        Vendor ls =client.get("10116");
        System.out.println("Response: " + ls.getEngName());
        
        List<Vendor> rs=client.getList();
        System.out.println("Response: " + rs.size());
        System.out.println("Response: " + rs.get(0).getEngName());
        
        System.exit(0);
        // END SNIPPET: client
    }
}




xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!--
	Licensed to the Apache Software Foundation (ASF) under one
	or more contributor license agreements. See the NOTICE file
	distributed with this work for additional information
	regarding copyright ownership. The ASF licenses this file
	to you under the Apache License, Version 2.0 (the
	"License"); you may not use this file except in compliance
	with the License. You may obtain a copy of the License at
	
	http://www.apache.org/licenses/LICENSE-2.0
	
	Unless required by applicable law or agreed to in writing,
	software distributed under the License is distributed on an
	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
	KIND, either express or implied. See the License for the
	specific language governing permissions and limitations
	under the License.
-->
<!-- START SNIPPET: beans -->
<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-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">
<!-- Configure CXF to use Aegis data binding instead of JAXB -->
	<bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype"/>
	<bean id="jaxwsAndAegisServiceFactory"
	      class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
	      scope="prototype"> 
		<property name="dataBinding" ref="aegisBean"/>
		<property name="serviceConfigurations">
			<list>
				<bean class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
				<bean class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
				<bean class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/> 
			</list>
		</property>
	</bean>
	
    <bean id="client" class="com.tnt.mms.webservice.VendorMaintenance" 
      factory-bean="clientFactory" factory-method="create"/>
    
	<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
	  <property name="serviceClass" value="com.tnt.mms.webservice.VendorMaintenance"/>
	  <property name="address" value="http://localhost:8080/extjsmms/VendorMaintenance"/>
	  		<property name="serviceFactory" ref="jaxwsAndAegisServiceFactory"/>
	</bean>
	  
</beans>
<!-- END SNIPPET: beans -->


运行client就可以调试结果。

总结
使用Acegi进行数据绑定后,在调用的时候一样要进行对应的acegi绑定。否则数据出不来。但不知道异构系统相互调用时如何进行。以后再研究了
3
1
分享到:
评论

相关推荐

    cxf客户端调用axis服务端流程

    本文将深入探讨如何使用CXF客户端调用Axis服务端的流程。 ### 一、了解CXF和Axis **CXF**(CXF: Composite eXtensible Framework)是一个开源的Java Web服务框架,它提供了多种方式来创建和使用Web服务,包括JAX-...

    CXF客户端调用例子

    CXF客户端调用例子展示了如何使用CXF来创建和消费Web服务。这个例子包含了服务端和客户端两部分,两者都是用Java语言编写的。 在Java中,CXF提供了丰富的API和工具,使得开发者能够方便地实现SOAP(Simple Object ...

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

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

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

    这些JAR包组合在一起,为CXF客户端调用提供了完整的环境,包括XML解析、SOAP消息处理、加密安全、缓存优化、消息传递以及依赖管理等多个方面。在实际项目中,将这些JAR包放入项目的`lib`目录下,确保了所有必要的...

    cxf客户端调用webservice所需jar包

    本篇将详细讲解如何利用CXF客户端来调用Web服务以及所需的jar包。 首先,让我们了解CXF的基本概念。CXF是一个用于构建和服务导向架构(SOA)应用程序的开源框架。它支持多种Web服务标准,如SOAP、WSDL、WS-Security...

    CXF作为客户端调用webService的demo

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

    CXF客户端调用以及发布服务

    以下是一个CXF客户端代码示例,用于调用远程服务的方法: ```java public class CXFClientSample { public static void main(String[] args) throws Exception { JaxWsProxyFactoryBean factory = new ...

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

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

    CXF客户端支持最少jar

    CXF客户端是开发人员用来与CXF服务交互的重要组件,它允许我们轻松地调用远程Web服务。然而,为了减小程序的体积和依赖性,有时我们需要精简CXF客户端所依赖的jar包。本文将深入探讨如何配置和使用CXF客户端所需的...

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

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

    cxf客户端所需jar包-4个

    标题 "cxf客户端所需jar包-4个" 暗示了这四个JAR文件是Apache CXF框架中用于构建客户端应用程序的基本组件,使得开发者能够方便地调用Web服务。Apache CXF是一个开源的Java框架,它允许创建和消费Web服务,支持多种...

    cxf_axis_xfire客户端调用的几种方法[收集].pdf

    在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会通过服务接口类来实现。在给出的示例中,`TestService`接口定义了几个服务方法,如`...

    CXF客户端添加soapHeader代码 + jar包 + apache-cxf-3.1.15

    以上步骤展示了如何在CXF客户端中添加SOAP Header,这个过程涉及到CXF客户端的配置、自定义Header处理以及服务调用。通过这样的方式,我们可以灵活地控制SOAP请求中的Header信息,满足各种服务交互的需求。记得根据...

    CXF客户端生成器

    【CXF客户端生成器】是基于Apache CXF框架的一个实用工具,主要用于自动生成Java客户端代码,使得开发者可以方便地调用Web服务。Apache CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者创建和消费各种Web...

    CXF客户端,自动生成方式

    当我们谈论“自动生成”CXF客户端时,通常是指利用IDE中的功能,根据服务的WSDL(Web Service Description Language)文档,自动生成对应的客户端代码。在MyEclipse这样的IDE中,这个过程相当直观。以下是具体步骤:...

    cxf_axis_xfire客户端调用的几种方法.docx

    1. **CXF客户端调用** CXF是一个开源的Java框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。对于客户端调用,CXF提供了一种基于接口的方式,这使得调用服务就像调用本地方法一样简单。 **服务接口定义:** ```...

    webservice四种发布方式及客户端调用

    CXF 客户端调用提供了一种更稳定的方法,尤其是在调用 CXF 自身发布的服务时更为方便。 **调用示例:** - 使用 CXF 客户端调用或其他方式调用 ### 总结 以上介绍了 WebService 的四种常见发布方式及其客户端调用...

    CXF与web项目服务端整合的例子以及客户端调用详细说明

    二、CXF客户端调用 1. 创建服务代理:客户端首先需要通过JAX-WS或JAX-RS API创建服务代理对象,这将暴露与服务端相同的接口。CXF提供了工具,如wsdl2java,可以自动生成这些代理类。 2. 调用服务:通过服务代理...

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费Web服务至关重要,特别是对于使用命令行生成Web服务客户端的开发者...

Global site tag (gtag.js) - Google Analytics