2010-03-19 11 views
6

Mit axis1 ist es möglich, eingehende/ausgehende Soap-Nachrichten zu protokollieren, indem die Protokollierung von HTTPSender in log4j.properties hinzugefügt wird. Nach der Migration auf axis2 (Version 1.4.1) fällt es mir schwer herauszufinden, wie man die gleiche Art von Protokollierung durchführt. Ich habe versucht, das axis2-Paket und org.apache.commons.httpclient Logging hinzuzufügen, aber keine Protokollierung wird zur Verfügung gestellt.SOAP-Protokollierung axis2

Irgendwelche Ideen?

TIA

Antwort

10

Versuchen Sie, diese beiden Pakete mit Debug-Level Anmeldung:

  • httpclient.wire
  • org.apache.commons.httpclient

Sie die folgende Ausgabe sehen sollte, wie für jede Anfrage, die Sie machen:

>> "SOAPAction: urn:GeteBayOfficialTime[\r][\n]" 
>> "User-Agent: Axis2[\r][\n]" 
>> "Host: api.sandbox.ebay.com[\r][\n]" 
>> "Content-Length: 1546[\r][\n]" 
>> "Content-Type: text/xml; charset=UTF-8[\r][\n]" 
>> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><ns1:RequesterCredentials xmlns:ns1="urn:ebay:apis:eBLBaseComponents"><ns1:eBayAuthToken>XYZ_ABCD</ns1:eBayAuthToken></ns1:RequesterCredentials></soapenv:Header><soapenv:Body><ns1:GeteBayOfficialTimeRequest xmlns:ns1="urn:ebay:apis:eBLBaseComponents" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:GeteBayOfficialTimeRequestType"><ns1:DetailLevelCodeType>ReturnAll</ns1:DetailLevelCodeType><ns1:ErrorLanguage>en_US</ns1:ErrorLanguage><ns1:Version>427</ns1:Version></ns1:GeteBayOfficialTimeRequest></soapenv:Body></soapenv:Envelope> 

Und für eingehende Antworten:

<< "HTTP/1.1 200 OK[\r][\n]" 
<< "Date: Wed, 23 Aug 2006 02:17:33 GMT[\r][\n]" 
<< "Server: Microsoft-IIS/5.0[\r][\n]" 
<< "X-EBAY-API-SERVER-NAME: ZXCVBA[\r][\n]" 
<< "Content-Type: text/xml;charset=utf-8[\r][\n]" 
<< "X-Cache: MISS from thrasher.sjc.ebay.com[\r][\n]" 
<< "Connection: close[\r][\n]" 
<< "<?xml version="1.0" encoding="UTF-8"?>[\n]" 
<< "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">[\n]" 
<< " <soapenv:Body>[\n]" 
<< " <GeteBayOfficialTimeResponse xmlns="urn:ebay:apis:eBLBaseComponents">[\n]" 
<< " <Timestamp>2006-08-23T02:17:33.544Z</Timestamp>[\n]" 
<< " <Ack>Success</Ack>[\n]" 
<< " <Version>475</Version>[\n]" 
<< " <Build>e475_core_Bundled_3434772_R1</Build>[\n]" 
<< " </GeteBayOfficialTimeResponse>[\n]" 
<< " </soapenv:Body>[\n]" 
<< "</soapenv:Envelope>" 
+1

Danke. Dies ('httpclient.wire') funktionierte für die Protokollierung von ausgehenden Nachrichten –

+0

Super. Es klappt – Vins