我如何使用多个 CXF 端点在 Camel 中调用 Web 服务?
How do i use multiple CXF endpoints to call a webservice in Camel?
我有两个端点:
CXF_FIRST_ENDPOINT="cxf:bean:cxfEndpoint?{address=first_address}&serviceClass=com.service.class.first"
CXF_SECOND_ENDPOINT="cxf:bean:cxfEndpoint?{address=second_address}&serviceClass=com.service.class.second"
如何在定义端点后实现两个单独的 Web 服务调用。如果我同时使用两者,并使用路由使用端点,则其中一个端点将覆盖另一个端点,我只能使用一个。如果我评论另一个端点,它 运行 成功。但是我需要同时使用两者。我正在为 Web 服务响应使用 messageContentList:
MessageContentsList result = (MessageContentsList) exchange.getIn().getBody();
谢谢,如果您需要更多信息,请告诉我
这是路由定义:
from("direct:paymentInfo").routeId("PaymentInfo")
.bean(billingServiceProcessor, "processBillingPaymentRequest")
.to(CXF_BILLINGSERVICE_ENDPOINT)
.bean(billingServiceProcessor, "processBillingPaymentResponse")
.end();
from("direct:Holidays").routeId("HolidayRetrieval")
.bean(entityProcessor, "processHolidaysRequest")
.to(CXF_ENTITYSERVICE_ENDPOINT)
.bean(entityProcessor, "processHolidaysResponse")
.end();
我解决了这个问题。我发现两个端点都使用了在 camel-config.xml.
中定义的相同 beanid (cxfEndpoint)
我在 camel-config.xml 中定义了另一个 id cxfEndpoint1 并将其用于我的端点,这解决了问题。两个网络服务调用都工作正常,没有麻烦。
<bean id="cxfEndpoint" class="org.apache.camel.component.cxf.CxfEndpoint" />
<bean id="cxfEndpoint1" class="org.apache.camel.component.cxf.CxfEndpoint"/>
这是各自的端点:
CXF_FIRST_ENDPOINT="cxf:bean:cxfEndpoint?{address=first_address}&serviceClass=com.service.class.first"
CXF_SECOND_ENDPOINT="cxf:bean:cxfEndpoint1?{address=second_address}&serviceClass=com.service.class.second"
谢谢,
我有两个端点:
CXF_FIRST_ENDPOINT="cxf:bean:cxfEndpoint?{address=first_address}&serviceClass=com.service.class.first"
CXF_SECOND_ENDPOINT="cxf:bean:cxfEndpoint?{address=second_address}&serviceClass=com.service.class.second"
如何在定义端点后实现两个单独的 Web 服务调用。如果我同时使用两者,并使用路由使用端点,则其中一个端点将覆盖另一个端点,我只能使用一个。如果我评论另一个端点,它 运行 成功。但是我需要同时使用两者。我正在为 Web 服务响应使用 messageContentList:
MessageContentsList result = (MessageContentsList) exchange.getIn().getBody();
谢谢,如果您需要更多信息,请告诉我
这是路由定义:
from("direct:paymentInfo").routeId("PaymentInfo")
.bean(billingServiceProcessor, "processBillingPaymentRequest")
.to(CXF_BILLINGSERVICE_ENDPOINT)
.bean(billingServiceProcessor, "processBillingPaymentResponse")
.end();
from("direct:Holidays").routeId("HolidayRetrieval")
.bean(entityProcessor, "processHolidaysRequest")
.to(CXF_ENTITYSERVICE_ENDPOINT)
.bean(entityProcessor, "processHolidaysResponse")
.end();
我解决了这个问题。我发现两个端点都使用了在 camel-config.xml.
中定义的相同 beanid (cxfEndpoint)我在 camel-config.xml 中定义了另一个 id cxfEndpoint1 并将其用于我的端点,这解决了问题。两个网络服务调用都工作正常,没有麻烦。
<bean id="cxfEndpoint" class="org.apache.camel.component.cxf.CxfEndpoint" />
<bean id="cxfEndpoint1" class="org.apache.camel.component.cxf.CxfEndpoint"/>
这是各自的端点:
CXF_FIRST_ENDPOINT="cxf:bean:cxfEndpoint?{address=first_address}&serviceClass=com.service.class.first"
CXF_SECOND_ENDPOINT="cxf:bean:cxfEndpoint1?{address=second_address}&serviceClass=com.service.class.second"
谢谢,