2013-05-15 6 views
7

मेरा resttemplate.exchange() एक 500 अनुरोध लौटने के साथ, POST अनुरोध पर विफल रहा।पुन: टेम्पलेट लॉगिंग पोस्ट डेटा

मैंने रूट लॉगिंग स्तर को DEBUG पर सेट करने का प्रयास किया, लेकिन 500 त्रुटि लौटने से पहले कुछ भी लॉग नहीं किया गया था। यकीन है कि मेरी लॉगिंग config सही है बनाने के लिए, मैं वास्तव में प्रवेश संदेशों का एक बहुत दिखाई दिया resttemplate कॉल

HttpClient client = new DefaultHttpClient(); 
client.execute(new HttpGet("http://google.com")); 

इस मामले में पहले एक लाइन जोड़ दिया।

तो मैं डिस्गिंग डेटा को RestTemplate निर्यात कैसे कर सकता हूं?

धन्यवाद यांग

उत्तर

10

अपने विश्लेषण से ऐसा लगता है कि आप RestTemplate अपाचे HttpClient का उपयोग करने की उम्मीद है।

हालांकि, डिफ़ॉल्ट रूप से, स्प्रिंग रेस्ट टेम्पलेट अपाचे एचटीपी क्लाइंट का उपयोग नहीं करता है लेकिन SimpleClientHttpRequestFactory के माध्यम से जेडीके सुविधाओं (java.net.URL # openConnection() इत्यादि) का उपयोग करता है।

org.springframework.http.client.support.HttpAccessor वाणी:

private ClientHttpRequestFactory requestFactory = new 
SimpleClientHttpRequestFactory(); 

जहाँ तक मुझे पता है, इस ग्राहक प्रवेश अनुरोध/प्रतिक्रियाओं का समर्थन नहीं करता।

RestTemplate HttpClient उपयोग करने के लिए बदलने के लिए, इस प्रयास करें:

new RestTemplate(new HttpComponentsClientHttpRequestFactory()); 

लॉगिंग विन्यास तो पूरा अनुरोध/प्रतिक्रिया के लिए स्तर debug पर श्रेणी org.apache.http.wire सक्षम होना चाहिए लॉग इन करने की।

+0

यह सुनिश्चित नहीं है कि यह संस्करण निर्भर है, लेकिन org.apache.http.wire के लिए डीबग सेट करना मेरे लिए स्प्रिंग रेस्ट टेम्पलेट पर काम नहीं करता है। – IcedDante

+0

addg.springframework.http = DEBUG मेरे लिए काम करता है –

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