首页 > 解决方案 > 如何为 HTTPS 休息调用配置骆驼休息 dsl 生产者

问题描述

它仍然连接 http,而不是 https 并且失败:

org.apache.camel.http.common.HttpOperationFailedException:HTTP 操作调用http://client.api.net/health失败,状态码:404

restConfiguration()
.component("restlet")
.host(Constant.CLIENT_URL)
.scheme("https").port(443)          
.bindingMode(RestBindingMode.json);

标签: apacheapache-camel

解决方案


我已经使用 xml 来定义 Camel Rest DSL,看看它是否对你有帮助,我已经使用 Postman REST 客户端测试了这个功能,我的 POST URL 是http://localhost:8080/orders/postOrder并且 JSON 正文被发送到直接:开始路线。您可以根据自己的用例定义自己的目的地

 <bean id="sqlComponent" class="org.apache.camel.component.sql.SqlComponent">
            <property name="dataSource" ref="dataSource" />
        </bean>
        <bean id="RestletComponent" class="org.restlet.Component" />
        <bean id="RestletComponentService" class="org.apache.camel.component.restlet.RestletComponent">
            <constructor-arg index="0">
                <ref bean="RestletComponent" />
            </constructor-arg>
        </bean>

<!--This is the post url -->
<!-- http://localhost:8080/orders/postOrder -->
        <restConfiguration bindingMode="json" component="servlet" />
        <rest path="/orders">
            <post uri="/postOrder" consumes="application/json" produces="application/json">
                <to uri="direct:start" />
            </post>
        </rest>

如果您使用 maven,请记住添加 camel-restlet 和 camel-http 依赖项


推荐阅读