首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Camel + Spring-WS +授权

Apache Camel + Spring-WS +授权
EN

Stack Overflow用户
提问于 2015-10-16 04:47:42
回答 1查看 789关注 0票数 0

我有一个使用apache camel的项目,并且我必须使用一个WS。

代码语言:javascript
复制
.setHeader(HttpHeaders.AUTHORIZATION, constant("Basic {base64"))
.to("spring-ws:http://myhost.com.br?soapAction=myAction")

我得到了以下错误: org.springframework.ws.client.WebServiceTransportException:未授权的401

如果我只使用soap-ui来发送报头,它会工作得很好。

有什么想法吗?非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-10-16 06:32:22

来自http://people.apache.org/~dkulp/camel/spring-web-services.html

可以像这样引用注册表中的自定义消息发送者或工厂:

代码语言:javascript
复制
from("direct:example")
.to("spring-ws:http://foo.com/bar?messageFactory=#messageFactory&messageSender=#messageSender")

Spring配置:

代码语言:javascript
复制
<!-- authenticate using HTTP Basic Authentication -->
<bean id="messageSender" class="org.springframework.ws.transport.http.CommonsHttpMessageSender">
    <property name="credentials">
        <bean class="org.apache.commons.httpclient.UsernamePasswordCredentials">
            <constructor-arg index="0" value="admin"/>
            <constructor-arg index="1" value="secret"/>
        </bean>
    </property>
</bean>

<!-- force use of Sun SAAJ implementation, http://static.springsource.org/spring-ws/sites/1.5/faq.html#saaj-jboss -->
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
    <property name="messageFactory">
        <bean class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl"></bean>
    </property>
</bean>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33158266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档