首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

cxf配备方式实现日志和https请求

2012-07-29 
cxf配置方式实现日志和https请求这篇博客介绍一下怎么通过配置方式配置https和cxf的日志功能这部分用编码

cxf配置方式实现日志和https请求
这篇博客介绍一下怎么通过配置方式配置https和cxf的日志功能

这部分用编码方式也是可以实现的,但是就存在代码重复的问题,用配置方式会比较好

1、打开日志功能

用编码方式,打开日志功能是这样的:




这样就可以把web service请求和响应的日志打出来了

形如:

信息: Outbound Message
---------------------------
ID: 1
Address: https://www.remedy-dummy.com:443/remedy/webservice/RemedySA
Encoding: UTF-8
Content-Type: text/xml
Headers: {SOAPAction=["http://cz.o2.com/systems/integrationinfrastructure/CIP-B2B/CIP-B2B_ServiceAssuranceWorkForceClientManagement/1.0/acknowledge"], Accept=[*/*]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:AcknowledgeRequest xmlns="http://cz.o2.com/cip/svc/IntegrationMessage-2.0" xmlns:ns2="http://cz.o2.com/systems/integrationinfrastructure/CIP-B2B/CIP-B2B_ServiceAssuranceWorkForceClientManagement/1.0"><ns2:requestBody><ns2:messageType>wolegequ</ns2:messageType><ns2:correlationId>0</ns2:correlationId></ns2:requestBody></ns2:AcknowledgeRequest></soap:Body></soap:Envelope>
--------------------------------------

上面的Outbound Message,是发出去的消息,对于客户端来说,是发出去的请求;对于服务端来说,是发出去的响应

信息: Inbound Message
----------------------------
ID: 1
Encoding: UTF-8
Content-Type: text/xml;charset=UTF-8
Headers: {content-type=[text/xml;charset=UTF-8], Date=[Fri, 20 Apr 2012 15:25:11 GMT], Content-Length=[478], X-Powered-By=[Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0], Server=[Apache-Coyote/1.1]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:AcknowledgeResponse xmlns="http://cz.o2.com/cip/svc/IntegrationMessage-2.0" xmlns:ns2="http://cz.o2.com/systems/integrationinfrastructure/CIP-B2B/CIP-B2B_ServiceAssuranceWorkForceClientManagement/1.0"><ns2:responseBody><ns2:status>true</ns2:status><ns2:errorDescription>call acknowledge() success</ns2:errorDescription></ns2:responseBody></ns2:AcknowledgeResponse></soap:Body></soap:Envelope>
--------------------------------------

上面的Inbound Message,是收到的消息,对于客户端来说,是收到的响应;对于服务端来说,是收到的请求

ID是成对出现的,一个请求必有一个响应
Address只有请求的Outbound才有,表示发送的地址,也就是web service的endpoint
Headers是http请求头或响应头
Payload是日志的关键,其中就是soap正文的内容

2、发送https请求

用编码方式也可以实现:

用配置文件的方式,可以节省很多重复代码

关于https和证书的问题,在另外一篇博客里介绍

热点排行