我正在使用JBoss FUSE进行集成。我是新手。我想使用/调用第三方restful webservices。请任何人都能告诉我创建端点的最佳方法(如cxf,restlet等)。
此外,如果有任何有效的端到端示例,那将会有很大的帮助。
提前致谢。
答案 0 :(得分:1)
最后,我可以在下方拨打休息服务是我的代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<bean class="org.apache.activemq.camel.component.ActiveMQComponent" id="activemq">
<property name="brokerURL" value="tcp://localhost:61616"/>
<property name="userName" value="admin"/>
<property name="password" value="admin"/>
<property name="usePooledConnection" value="false"/>
</bean>
<camelContext id="amq-example-context"
xmlns="http://camel.apache.org/schema/spring" xmlns:order="http://com.mycompany/examples/order">
<dataFormats>
<json id="docsDocs" library="Jackson" unmarshalTypeName="com.mycompany.pojos.MyPojo"/>
</dataFormats>
<restConfiguration bindingMode="auto" component="restlet" port="443"/>
<route id="file-to-jms-route">
<from id="_to3" uri="timer:order?fixedRate=true&period=5000&delay=2000"/>
<to id="_to2" uri="restlet:https://my-service.com:443/api/v1.0/user/427?exchangePattern=InOut&restletMethod=GET&auth=1234abcd5678pqrs"/>
<to id="_to1" uri="file:C:\workspace\jbdevstudio\restfuloutput"/>
<to id="sendIncomingDocs" uri="activemq:queue:incomingData"/>
</route>
<route id="jms-cbr-route" streamCache="true">
<from id="listenToIncomingData" uri="activemq:queue:incomingData"/>
<unmarshal id="_unmarshal1">
<json allowJmsType="true" library="Jackson"/>
</unmarshal>
<log id="logEndProcessing" message="Done processing parsing ${body}"/>
<to id="myQData" uri="activemq:queue:myQData"/>
</route>
</camelContext>
</beans>
不确定它是否是一种标准方法,但现在我可以调用服务(任何评论?)。 我们还有多条路径,有没有办法以标准方式配置多个端点:
https://my-service.com:443/api/v1.0/country
https://my-service.com:443/api/v1.0/country/{id}/state/{id2}
https ://my-service.com:443/api/v1.0/education
https ://my-service.com:443/api/v1.0/roles
同样在此服务调用中,我在查询字符串中发送一个标头(auth = 1234abcd5678pqrs)。 如何使用setHeader设置任何关于setBody的想法(对于多部分文件对象和表单数据)我想从AMQ获取json对象,将其编组为实体类并存储在数据库中。
答案 1 :(得分:0)
您将要创建一个要在Fuse上部署的Camel路由。您可以从多个端点中进行选择,但我建议使用CXF。
这是一个很好的例子(来自官方文档),介绍如何从头开始并运行Web服务端点!