Tôi muốn để có được các loại sau đây của định tuyến:Apache Camel: Tôi có thể đặt nhiều câu lệnh trong phần khi có câu lệnh lựa chọn có điều kiện không?
- HTTP nhắn POST với cơ thể XML vào CAMEL
- tôi lưu trữ một số thông số của cơ thể XML
- Thông điệp được chuyển đến một bên ngoài endpoint
- các thiết bị đầu cuối bên ngoài (bên ngoài máy chủ) trả lời
-> tại thời điểm này, tôi muốn kiểm tra xem câu trả lời từ các thiết bị đầu cuối bên ngoài là một HTTP 20 0 OK chứa tham số XML bằng SUCCESS. -> nếu có, thì tôi muốn sử dụng một số thông số được lưu trữ để xây dựng một thông báo HTTP mới (phương pháp = PUT thời gian này) và gửi đến một điểm cuối bên ngoài
Vấn đề mà tôi hiện đang có, là như sau:
.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()
Câu hỏi: bạn có ý tưởng thêm các câu lệnh bổ sung này trong trường hợp mã phản hồi HTTP là 200 OK không? Có vẻ như khi nào không cho phép tôi thêm các câu lệnh bổ sung ... (Tôi gặp lỗi trong IDE Eclipse của tôi).
Xin cảm ơn trước.
Lưu ý: có thể là tôi phải định tuyến thư trong trường hợp 200 OK khớp với 'điểm cuối mới' và sau đó tạo mới từ tuyến với điểm cuối mới này không? Ví dụ:
.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")
Trong trường hợp thứ hai, làm thế nào chính xác tôi nên xác định 'điểm mới' này?
Siêu! Cảm ơn. – opstalj
Bất kỳ lý do nào tại sao 'Predicate isOrm = PredicateBuilder.and (tiêu đề (" hl7.msh.messageType "). IsEqualTo (" ORM "), tiêu đề (" hl7.msh.triggerEvent "). IsEqualTo (" 001 "));' sẽ không hoạt động? Một cái gì đó về cách thức và khi nó được đánh giá? – Antares42
Có cách nào để sử dụng PredicateBuilder này trong kế hoạch chi tiết không? – Yannick