`
rrsy23
  • 浏览: 186346 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

CXF客户端启动过程

    博客分类:
  • CXF
阅读更多

最近,在研究CXF,在用JaxWsProxyFactoryBean 完成调用服务端虽然成功,但是不明白道理,所以DEBUG+源代码了哈

客户端代码:
public final class Client {

    private Client() {
    }

    public static void main(String args[]) throws Exception {
        JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
        factoryBean.setServiceClass(demo.spring.HelloWorld.class);
        factoryBean.setAddress("http://localhost:8080/HelloWorld");

        HelloWorld client = (HelloWorld) factoryBean.create();

        String response = client.sayHi("Joe");
        System.out.println("Response: " + response);
        System.exit(0);

    }
}
服务器端代码:CXF包的SAMPLE,我们要看的是客户端代码:
这个DEMO非常简单!
package demo.spring;

import javax.jws.WebService;

@WebService
public interface HelloWorld {
    String sayHi(String text);
}

package demo.spring;

import javax.jws.WebService;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

@WebService(endpointInterface = "demo.spring.HelloWorld")
public class HelloWorldImpl implements HelloWorld {
private final static Log log = LogFactory.getLog(HelloWorldImpl.class);

public String sayHi(String text) {
log.info("@WebService Hello support service");
return "Hello " + text;
}
}
bean.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 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.xsd
             http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

<jaxws:endpoint id="helloWorld"
implementor="demo.spring.HelloWorldImpl" address="/HelloWorld" />

</beans>
<!-- END SNIPPET: beans -->

分析:
   在把服务器端DEPLOY到TOMCAT然后启动
   运行客户端,发现SPRING LOAD很多XCF.JAR下面的META-INF下的XML文件,怎么LOAD,一定那里有配置或者约定!

   结果果然是:
         JaxWsProxyFactoryBean.java
         ClientProxyFactoryBean.java
         ClientFactoryBean.java
         AbstractWSDLBasedEndpointFactory.java
         AbstractEndpointFactory.java
         BusFactory.java
         SpringBusFactory.java
         BusApplicationContext.java[哈哈上下文....]
BusFactory.java 内部去找JAR包下面的配置文件了哈找到SpringBusFactory 
String serviceId = "META-INF/services/" + BusFactory.BUS_FACTORY_PROPERTY_NAME;

SpringBusFactory  搞定BusApplicationContext
BusApplicationContext内部
private static final String DEFAULT_CXF_CFG_FILE = "META-INF/cxf/cxf.xml";
    private static final String DEFAULT_CXF_EXT_CFG_FILE = "classpath*:META-INF/cxf/cxf.extension";
一切就搞定
附件有代码:和PPT[截图]

希望大家分享,CXF资料不多哈
努力!!
         
  • cxf.rar (199.3 KB)
  • 下载次数: 400
4
0
分享到:
评论
1 楼 teamlet 2008-09-28  
非常好!
请问ppt中的图像是使用什么工具产生的?

相关推荐

    CXF客户端调用例子

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

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

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

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

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

    webservice cxf 客户端创建

    **创建Webservice CXF客户端的步骤如下:** **服务端项目准备:** 1. **引入Webservice库:** 首先,你需要下载Apache CXF的库。例如,你可以获取apache-cxf-2.7.6.zip,并将其解压缩。将解压后的`lib`目录中的...

    CXF整合spring的客户端和服务端

    它可能包含了CXF客户端的bean定义,用于消费远程服务。 4. **项目导入与运行** 提到这个项目是“绝对可运行”的,这意味着包含了所有必要的依赖和配置。导入Eclipse或MyEclipse后,只需几分钟即可启动并测试服务...

    cxf最少jar包,包含服务器端和客户端

    CXF服务器端支持JAX-WS规范,可以将Java接口直接映射为SOAP服务,简化了服务的发布过程。 使用这些最小jar包时,需要注意以下几点: 1. 虽然这些jar包是最小化的,但可能仍需要根据具体需求添加额外的依赖,例如...

    CXF开发webservice客户端

    ### CXF 开发 WebService 客户端详细指南 ...这种方式不仅简化了客户端的开发过程,还提供了良好的可维护性和扩展性。在未来开发类似项目时,您可以参考本教程快速搭建起客户端框架,并根据具体需求进行调整和完善。

    cxf开发教程

    6. **CXF的Demo**:`Cxf_Client`文件可能包含了CXF的客户端示例,展示了如何配置和使用CXF客户端来调用远程Web服务。而`Cxf_Server`文件则可能是服务端的示例,涵盖了服务的创建、配置和服务发布。 7. **RESTful...

    CXF开发教程03

    Cxf_Client目录下的文件很可能包含了CXF客户端的配置、代码示例以及测试用例,展示了如何连接到服务端并执行请求。 四、CXF Server(Cxf_Server): Cxf_Server部分则展示了服务端的实现,可能包含服务接口、实现类...

    springBoot完整整合WebService框架CXF示例

    你可以定义一个实现了`ClientInterceptor`或`ServerInterceptor`接口的类,并通过`interceptors`属性添加到CXF客户端或服务器端。 6. **授权校验**:在拦截器中,你可以检查请求头中的认证信息,比如Token或者API...

    CXF提供的wsdl2java工具创建客户端

    ### CXF提供的wsdl2java工具创建客户端的相关知识点 #### 一、背景介绍 CXF是一个强大的开源项目,主要用于简化企业级服务(如RESTful Web服务、SOAP Web服务等)的构建过程。它提供了多种工具和服务,使得开发者...

    CXF+Jetty发布WebService

    对于"WebService_CXF_Client_1"这个文件,很可能包含了CXF生成的客户端代码,这些代码可以帮助我们创建并配置一个CXF客户端,用于调用已发布的Web服务。客户端通常需要以下步骤: 1. 加载WSDL,解析服务定义。 2. ...

    SpringBoot框架及CXF发布WebService

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

    jdk21集成cxf示例程序

    7. **测试Web服务**:可以使用CXF提供的CXF客户端工具,或者通过发送HTTP请求来测试服务。例如,对于上述示例,你可以用curl命令进行测试: ``` curl ...

    webservice :spring 3+cxf3.4服务方,AXIS1.4请示方调用

    以上步骤详细介绍了如何使用Spring 3 + CXF 3.4搭建WebService服务端,并通过Axis 1.4客户端进行调用的过程。通过这种方式,可以实现不同技术栈之间Web服务的有效交互。在实际应用中,还需要注意安全性和性能优化等...

    零配置spring 整合cxf

    在提供的压缩包文件"CXFClient"中,通常包含的是一个CXF客户端示例,用于调用服务端的接口。客户端配置同样可以使用Spring Boot的自动配置,只需要设置服务的URL,就可以方便地进行调用。在实际应用中,可以创建一个...

    CXF Web Service & client

    本篇将深入探讨如何利用CXF来开发Web Service及其客户端,以及相关的重要知识点。 ### 1. CXF简介 Apache CXF是一个全面的服务框架,支持多种Web服务规范,如SOAP、RESTful API、WS-*(如WS-Security、WS-...

    CXF入门 -- 第一个简单webService

    【CXF入门 -- 第一个简单webService】 Apache CXF 是一款强大的开源服务框架,它用于构建和开发服务,包括Web服务。...实践过程中,你将对CXF的生命周期、服务暴露、客户端生成和通信机制有更深入的理解。

    CXF webService 工具类

    - **服务生成**:CXF可以从WSDL(Web Service Description Language)文档生成Java代码,反之亦然,这使得开发过程更加简便。 - **客户端支持**:CXF提供客户端API,允许开发者创建Web服务客户端,与服务端进行...

Global site tag (gtag.js) - Google Analytics