我们想使用AWS SDK InitiateAuth在 apache-camel 中实现接口的身份验证,其中AuthFlowType为 USER_SRP_AUTH 。已经有骆驼组件了吗?我找到了这个list of camel aws components,但不知道是否可以使用其中一个。我会证明这一点,但也许你们当中的一些人对此有经验。
[EDIT] 实际上,我想使用camel-cxf调用WebService,为此,我应该使用AWS开发工具包进行身份验证。毕竟,这是一个OAuth流程,我也许还可以用CXF来描绘它?
答案 0 :(得分:1)
当然,Apache Camel具有许多用于亚马逊的组件。请查看此reference
每个组件都有自己的方法来实现您想要的。在几乎每个组件中,您都必须进行身份验证。骆驼是关于发送消息的,每条消息都应以适当的标题和正文修饰。
This可能会派上用场。有些标头应该进行身份验证。
根据我的阅读,亚马逊使用队列发送和接收数据。隐藏在链接上方的组件应该可以解决问题
如果您的Camel应用程序在防火墙后运行,或者您需要对AmazonSQSClient配置进行更多控制,则可以创建自己的实例:
AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);
AmazonSQSClient client = new AmazonSQSClient(awsCredentials, clientConfiguration);
,并在您的Camel aws-sqs组件配置中进行引用:
from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");