मैं मार्ग के निम्नलिखित प्रकार प्राप्त करने के लिए करना चाहते हैं:अपाचे कैमल: क्या मैं सशर्त पसंद कथन के हिस्से में कई बयान डाल सकता हूं?
- एक्सएमएल शरीर के साथ HTTP POST संदेश में प्रवेश करती है केमल
- मैं एक्सएमएल शरीर के मापदंडों
- संदेश एक बाहरी करने के लिए रूट किया जाता है में से कुछ की दुकान endpoint
- बाहरी endpoint (बाहरी सर्वर) उत्तर
-> इस पल में, मैं चाहे बाहरी endpoint से जबाब एक HTTP 20 है की जाँच करना चाहते हैं 0 ठीक है SUCCESS के बराबर एक एक्सएमएल पैरामीटर। -> यदि ऐसा है, तो मैं एक नए HTTP संदेश (विधि = PUT इस बार) बनाने के लिए संग्रहीत पैरामीटर का उपयोग करना चाहूंगा और इसे बाहरी अंतराल पर भेज सकता हूं
समस्या जो मैं वर्तमान में कर रहा हूं, है निम्नलिखित:
.choice()
.when(simple("${in.headers.CamelHttpResponseCode} == 200"))
// now I want do a few things, eg: check also the XML body via xpath
// and change the message to be sent out (change Method to PUT, ...)
.to("http://myserver.com")
.otherwise()
// if no 200 OK, I want the route to be stopped ... not sure how ?
.end()
प्रश्न: HTTP प्रतिक्रिया कोड 200 ठीक होने के मामले में उन अतिरिक्त विवरणों को जोड़ने का कोई विचार है? ऐसा लगता है कि मुझे अतिरिक्त वक्तव्य जोड़ने की अनुमति नहीं देता है ... (मुझे अपने ग्रहण आईडीई में एक त्रुटि मिली है)।
अग्रिम धन्यवाद।
नोट: क्या यह हो सकता है कि 200 ओके मैच 'नए एंडपॉइंट' से मेल खाता है और फिर इस नए एंडपॉइंट के साथ मार्ग से नया बना सकता है? उदाहरण के लिए:
.choice()
.when(simple("${in.headers.CamelHttpResponseCode} == 200"))
.to("mynewendpoint")
.otherwise()
// if no 200 OK, I want the route to be stopped ... not sure how ?
.end();
from("mynewendpoint").
.setHeader(etc etc)
.to("http://myserver.com")
बाद वाले मामले में, मैं कैसे वास्तव में परिभाषित करना चाहिए इस 'newendpoint'?
सुपर! धन्यवाद। – opstalj
कोई कारण है कि 'Irm = PredicateBuilder.and (हेडर ("hl7.msh.messageType") का अनुमान है। IsqualTo ("ORM"), हेडर ("hl7.msh.triggerEvent") है। एक्वाल्टो ("001")); ' काम नहीं करेगा? इस बारे में कुछ और कैसे मूल्यांकन किया जाता है? – Antares42
क्या इस भविष्यवाणी बूल्डर को ब्लूप्रिंट में उपयोग करने का कोई तरीका है? – Yannick