在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的简易开发说明,采用maven搭建,spring管理cxf,代码内配置详细注释,相信能帮到新学的朋友。
说明: 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.根据用户传入...
webservice cxf2.5.9的使用示例,包含简单的发布与调用说明
简单的webservice服务应用,以及配置文档说明,直接部署到服务器上就可以运行了
本实例是一个简单的Spring+Apache CXF+MyBatis+Maven的集成小项目,可以最为学习参考,程序说明在我的博客里面有,链接地址:http://blog.csdn.net/liuxing9345/article/details/77983755
Nginx实现最简单的负载均衡web访问操作说明.doc
一个简单的SSM框架整合示例代码,采用XML配置文件方式整合。 适合学习SSM的新手学习使用。 使用的工具说明: IDE: eclipse4.7 SSM框架版本:Srping4.3.9,MyBatis3.4.4 数据库:MySql5.7.19 数据库脚本:/src/sql/...
JavaWeb服务SOAP(jax-ws)和REST(jax-rs)规范,CXF整合Spring和未整合Spring的简单例子。结合说明看,简单易懂:my.oschina.net/lock0818/blog/314120
技术领域春天SpringMVC Spring批<li>Apache Tiles</li><li>Apache CXF</li><li>Alfresco Activiti</li><li>Maven运行说明该系统具有两个构建配置文件:嵌入式和默认。 借助嵌入式概要文件,系统将使用由spring批处理...
361CRM平台的配置功能的强大,并不以损失平台应用的易用性为基础,361CRM平台在操作上采用引导式操作,以及提供方便易用的在线帮助,大大地降低了系统使用的复杂度,使系统更加地人性化、简易化。 实时即时 ...