起初很抱歉我的英语不好!
情况:
我目前在 Jboss Fuse 6.3 上使用 Camel (2.17)、Blueprint 和 CXF Rest Client。我尝试使用 CXF-RS 消费者(客户端)端点调用 RESTFUL Web 服务(服务器)。使用 Basic Auth 进行身份验证,并尝试使用响应中的身份验证 cookie (Set-Cookie) 来获取更多请求。Camel 中的 rsClient 端点作为普通 HTTP 客户端运行。
问题:
一切似乎都运行良好,我可以调用目标 web 服务。来自 cxf 的出站和入站消息看起来非常好。入站响应设置并填充了 set-cookie-header。但是在 CXF 端点完成他的工作并且路由进一步进展之后......标题“Set-Cookie”丢失/为空!我用一个日志端点甚至用一个骆驼处理器豆检查了它。交换不再包含“set-cookie”标头。我也使用 camel-http4 端点进行了尝试,并且正确维护了“Set-Cookie”标头。
在这种情况下我做错了什么?
我的简单骆驼路线如下所示:
<route id="_route1">
<from id="_from1" uri="timer:timerName?repeatCount=1"/>
<to id="_to1" uri="cxfrs:bean:rsClient"/>
<to id="_log1" uri="log:com.mycompany.test?showAll=true&multiline=true"/>
</route>
我的 CXF 休息客户端配置:
<cxf:rsClient address="https://mywebservice/rest" id="rsClient"
loggingFeatureEnabled="true"
password="pass"
username="user"
serviceClass="org.MyInterface">
</cxf:rsClient>
工作http4路线:
<route id="_route1">
<from id="_from1" uri="timer:timerName?repeatCount=1"/>
<to id="_to1" uri="http4://mywebservice/rest?authMethod=Basic&authUsername=user&authPassword=pass"/>
<to id="_log1" uri="log:com.mycompany.test?showAll=true&multiline=true"/>
</route>
谢谢!