在cxf官网提供的例子中,直接运行main方法就可以发布运行cxf的webservice服务了。而无需借助tomcat这是为什么呢?
其实CXF 内置了 Jetty(Servlet 容器),因此你不需要将你的程序部署到 Tomcat 等 Web 服务器也可以正常发布web服务。
WSDL文件构成:
详见:http://www.w3school.com.cn/wsdl/index.asp
假设我们发布一个简单服务。现在看一下控制台中的输出信息:
2009-6-17 22:35:57 org.apache.cxf.interceptor.LoggingInInterceptor
logging
信息: Inbound Message
----------------------------
ID: 2
Address: /helloService
Encoding: UTF-8
Content-Type: text/xml; charset=UTF-8
Headers: {content-type=[text/xml; charset=UTF-8],
connection=[keep-alive], Host=[127.0.0.1:8080], Content-Length=[367],
SOAPAction=[""], User-Agent=[Apache CXF 2.2.2], Content-Type=[text/xml;
charset=UTF-8], Accept=[*/*], Pragma=[no-cache],
Cache-Control=[no-cache]}
Payload: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns
2:selectMaxAgeStudent
xmlns:ns2="http://server.soap.ilkj.net/"><c1><birthday>1989-01-28T00:
00:00.000+08:00</birthday><id>1</id><name>A</name></c1><c2><birthday>
1990-01-28T00:00:00.000+08:00</birthday><id>2</id><name>B</name></c2>
</ns2:selectMaxAgeStudent></soap:Body></soap:Envelope>
--------------------------------------
2009-6-17 22:35:57
org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback
onClose
信息: Outbound Message
---------------------------
ID: 2
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns
2:selectMaxAgeStudentResponse
xmlns:ns2="http://server.soap.ilkj.net/"><return><birthday>1989-01-28
T00:00:00+08:00</birthday><id>1</id><name>A</name></return></ns2:sele
ctMaxAgeStudentResponse></soap:Body></soap:Envelope>
--------------------------------------
Inbound Message输出的是服务器端接收到的 SOAP 信息,
Outbound Message输出的服务器端响应的 SOAP 信息,
SOAP 的 Headers:{}的前面是 SOAP 消息的标识、编码方式、MIME类型,
Headers:{}熟悉 HTTP 应该很容易看懂这里面的消息报头的作用,
Headers:{}后面的Payload(有效负载,也叫净荷)的 XML 就是 SOAP 消息的真正内容,
我们看到 SOAP 消息内容被封装为<soap:Envelope …SOAP 信封,在信封之间的内容就是 SOAP 消息正文,这
个元素还有一个子元素<soap:Header …,如果你的某些注解的 header=true,那么它将被放到
<soap:Header …中传输,而不是 SOAP 消息正文。
分享到:
相关推荐
CXF 还提供了客户端 API,使得调用远程 Web 服务变得简单。只需提供服务的 WSDL 地址,CXF 就能自动生成客户端代理类。这些代理类可以直接调用 Web 服务的方法,就像调用本地方法一样。 ### 5. 扩展性 除了基本的...
这个"CXF2.6.4配java1.6版完整包和使用说明"是一个针对Java 1.6版本优化的CXF 2.6.4发行包,包含了所有必要的组件和文档,让你能够顺利地在Java 1.6环境下使用CXF进行服务开发。 CXF的核心功能包括: 1. **SOAP和...
cxf的简易开发说明,采用maven搭建,spring管理cxf,代码内配置详细注释,相信能帮到新学的朋友。
Apache CXF 是一个开源的Java框架,主要用于构建和开发Web服务。REST(Representational State Transfer)是一种轻量级的Web服务交互方式,它基于HTTP协议,使得服务更加简单、高效。本篇文档将深入探讨如何使用...
说明: 1.本身是一个eclipse 的java project 2.需要JDK5,cxf 2.3.4 log4j 使用步骤: project->properties->build path->library 增加cxf2.3.4 lib目录下所有libraries 及log4j的jar。 project: 1.根据用户传入...
CXF的JAX-RS(Java API for RESTful Web Services)实现使得REST服务的开发变得简单直观。 **文件“webit”** 虽然没有具体说明,但“webit”可能是指项目中的一个目录或子模块,通常与Web应用程序有关。在CXF项目...
7. **集成性**:CXF可以很容易地与Spring框架集成,使得配置和服务管理变得更加简单。此外,它还支持OSGi环境。 8. **测试和调试**:CXF提供了测试工具,如模拟服务器和客户端,方便进行服务的测试和调试。 在...
该项目提供了一个简单的实例,通过访问提供的演示链接(http://onway417.iteye.com/admin/blogs/2190374),开发者可以观察到CXF如何实现服务的发布和调用。在实际应用中,这样的服务可能涉及数据交换、远程过程调用...
这个过程简单易行,能够极大地提高开发效率。开发者可以根据实际需求选择不同的选项来定制生成的代码类型,以满足项目的需求。此外,对于需要进行大规模部署或维护的应用来说,通过生成 build.xml 文件可以方便地...
以下是对CXF客户端源码可能涉及的关键知识点的详细说明: 1. **JAX-WS和JAX-RS理解**: - JAX-WS是用于构建SOAP Web服务的标准,它将服务定义为接口,客户端通过代理类进行调用。 - JAX-RS是用于构建RESTful服务...
在本案例中,我们将深入探讨如何在不依赖Spring框架的情况下,仅使用CXF实现一个简单的RESTful服务,该服务能返回JSON格式的数据。 1. **CXF与RESTful服务**: RESTful是一种架构风格,强调资源的识别和通过HTTP...
6. **集成支持**:CXF可以很好地与其他Java EE和Spring框架集成,使得在现有应用中引入Web服务变得简单。 7. **安全性**:CXF提供了丰富的安全特性,包括WS-Security、OAuth和JWT等,确保服务的安全通信。 8. **...
CXF支持多种协议,如SOAP、RESTful、JMS等,它提供了一种简单的方式来创建和部署Web服务,并且能够与Spring框架深度集成,方便地进行服务发布和调用。 "spring+mybatis+cxf整合"意味着将这三大框架结合在一起,形成...
5. **客户端API**:CXF提供了一种直观的客户端API,使得调用Web服务如同调用本地Java方法一样简单。 6. **安全特性**:CXF支持多种安全标准,如WS-Security、OAuth等,确保Web服务的安全通信。开发者可以添加数字...
6. **客户端API**:CXF提供了一套全面的客户端API,使得调用远程服务如同调用本地方法一样简单。 7. **集成性**:CXF可以方便地与Spring框架集成,使得服务配置和管理更加便捷。同时,它也支持OSGi容器,增强了灵活...
2. **客户端支持**:CXF也提供了生成Web服务客户端代理的工具,使得调用远程服务如同调用本地方法一样简单。 3. **多种协议支持**:除了基本的SOAP协议,CXF还支持RESTful风格的服务,以及诸如MTOM(Message ...
Apache CXF提供了一个简单的API来创建服务并将其部署到服务器,使得客户端可以通过指定的URL访问这些服务。 **客户端调用** 客户端调用Web服务的过程通常涉及生成服务代理,这个代理类提供了与服务交互的方法。在...
4. **API文档**:包括Javadoc,详细说明了CXF的类和方法,帮助开发者更好地使用和集成CXF。 使用CXF,你可以实现以下功能: - **服务创建**:通过简单的注解或接口定义,快速创建Web服务。 - **服务消费**:CXF...
首先,"CXF框架入门例子"是一个基础教程,它演示了如何创建和运行一个简单的CXF服务。这个例子可能包括以下步骤: 1. **设置环境**:确保安装了Java Development Kit(JDK),并配置了相应的环境变量。同时,需要在...