2010-05-11 7 views
17

मैं LoggingHandler को लागू करने वाली SOAPHandler<SOAPMessageContext>जावा जेएक्स-डब्ल्यूएस वेब-सेवा क्लाइंट: लॉग अनुरोध और प्रतिक्रिया xml कैसे?

के एक कार्यान्वयन बनाया यह लॉग इन करना चाहिए जब भी handleMessage चलाता है (और यह मेरे मामले में कहा जाता है कभी नहीं है)

MyService service = new MyService(); 
MyServicePort port = service.getPortType(); 

अब मैं यह कोशिश:

BindingProvider bindingProvider = (BindingProvider)port; 
bindingProvider.getBinding().getHandlerChain().add(new LoggingHandler()); 

हालांकि मुझे कोई अनुरोध/प्रतिक्रिया xml नहीं दिख रहा है।

क्या आप कोई समाधान सुझा सकते हैं? शायद आउटपुट देखने और एक्सएमएल का अनुरोध करने का एक और तरीका है?

उत्तर

23

यह काम करना शुरू करता है, तो आप इस विधि का उपयोग करें:

binding.setHandlerChain(handlerList); 

तो, पहले

binding.getHandlerChain(); 

के साथ इस सूची को प्रारंभ तो सूची में है और सभी

setHandlerChain(); 
+0

यह समाधान है, आपको इसे हरा चिह्नित करना चाहिए। – zygimantus

2
के बाद अपने तत्व जोड़

आप लॉग 4j.xml फ़ाइल में लॉगजर जोड़ सकते हैं:

<!-- Log WebService's inputs and outputs --> 
<logger name="org.apache.cxf.interceptor"> 
    <level value="INFO" /> 
    <appender-ref ref="[YOUR_LOGGER]" /> 
</logger> 
संबंधित मुद्दे

 संबंधित मुद्दे