首先,SOAP和REST之间没有明显的自动代理方式。
REST是所有数据/资源(各种形状和颜色),很少操作,SOAP是所有使用XML定义的数据操作。
但它应该是相当简单的(使用Spring WS例如)消费与骆驼SOAP消息。
然后,你可以用任何原始XML(XPath或XSLT),或者可能通过解组perfeered与JAXB为Java对象。这可能相当自动化。有关Spring WS,Camel和JAXB示例,请参阅(http://camel.apache.org/spring-ws-example.html)。我还建议您使用maven-jaxb2-plugin以基于SOAP模式的JAXB生成Java对象。
然后,你需要某种查找表来SOAP端点/方法/ SOAP行动REST服务之间的航线。这很大程度上取决于您的REST服务的结构。然后用Camel调用RESTful资源应该是微不足道的。无论你喜欢什么,都要考虑HTTP或REST。
你有什么考虑,这也许是在这种情况下最重要的部分,就是如果你的REST服务featuers其他有效载荷的编码比XML,例如JSON。然后,XML和JSON之间的映射必须完成。对此没有真正的标准,但骆驼可以简化这项工作。骆驼甚至会在下一个版本2.10中自动转换(https://issues.apache.org/jira/browse/CAMEL-4930)。
您当前的实施是否使用骆驼?或者你是否正在使用直接的Spring MVC并考虑使用Camel来实现SOAP接口? – 2012-04-18 15:00:18
我们目前的实施不使用骆驼。它使用简单的Spring MVC来实现REST服务。 – Siva 2012-05-03 15:32:16