gpt4 book ai didi

java - 在 JBoss EAP 6.4 上的 JBoss Fuse 中为 SOAP 代理创建 Camel 路由的简单指南

转载 作者:行者123 更新时间:2023-11-30 07:02:17 27 4
gpt4 key购买 nike

我有一个向公众公开的 Web 服务,我想使用 Fuse 作为外部请求的前端来隐藏它。我想我必须配置一个 Camel 代理才能实现这一点。

在开发环境(Windows 7 x64机器)中,我成功安装并测试了jdk-8u111-windows-x64、apache-maven-3.3.9、jboss-eap-6.4.0-installer、fuse- eap-installer-6.3.0.redhat-187 和 devstudio-integration-stack-9.0.2.GA-standalone-installer,我使用的是 JBoss Dev Studio 9.1.0.GA。

目前我正在尝试弄清楚如何使用 JBoss Developer Studio 9.1.0.GA 来使用公共(public) Web 服务 ( http://www.webservicex.net/country.asmx ),然后将其部署为具有不同名称的全新 Web 服务 (当然,在我的本地独立 Fuse 服务器中与原始版本完全相同。

我已经阅读了大量的博客、文章、红帽教程、视频大约一两周了,但我只是放弃了这一点。这很难吗?

最佳答案

使用 Camel 代理实际的 Web 服务非常简单。

请参阅下文(考虑来自您上面提到的端点的国家/地区 Web 服务),您可以通过最少的路由来实现此目的。但是,根据您的用例,例如您是否需要进一步验证、执行一些处理逻辑或在中介期间进行一些转换,您也可以这样做。

但至少要将请求从自定义端点代理到实际端点,这是必需的:

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">


<!-- CurrencyService Proxy Endpoint -->
<cxf:cxfEndpoint id="currencyServiceProxyEP" xmlns:c="http://www.webserviceX.NET"
endpointName="c:countrySoap" serviceName="c:country"
loggingFeatureEnabled="true" address="/CurrencyService/MyGatewayProxy" wsdlURL="WSDL/CountryService.wsdl">
<cxf:properties>
<entry key="dataFormat" value="MESSAGE" />
</cxf:properties>
</cxf:cxfEndpoint>


<!-- CurrencyService Actual Endpoint -->
<cxf:cxfEndpoint id="currencyServiceActualEP" xmlns:c="http://www.webserviceX.NET"
endpointName="c:countrySoap" serviceName="c:country"
loggingFeatureEnabled="true" address="http://www.webservicex.net/country.asmx" wsdlURL="WSDL/CountryService.wsdl">
<cxf:properties>
<entry key="dataFormat" value="MESSAGE" />
</cxf:properties>
</cxf:cxfEndpoint>




<camelContext xmlns="http://camel.apache.org/schema/blueprint" id="CountryService-Context">

<route id="proxyEPRoute">

<from uri="cxf:bean:currencyServiceProxyEP" />

<!-- Do Extra validation of payload, additional routing, processing, transaformation, mediation etc.. depending on your use case here.. -->

<to uri="cxf:bean:currencyServiceActualEP"/>


</route>

</camelContext>

</blueprint>

请注意:我使用 Camel 路由与 Blueprint DSL 和 Camel CXF 来公开和使用 SOAP 端点。

关于java - 在 JBoss EAP 6.4 上的 JBoss Fuse 中为 SOAP 代理创建 Camel 路由的简单指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40719295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com