首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用即席web服务(非SOAP、无模式的XML)?

如何使用即席web服务(非SOAP、无模式的XML)?
EN

Stack Overflow用户
提问于 2011-08-19 20:53:58
回答 2查看 739关注 0票数 2

我需要编写到多个外部web服务的集成。它们中的一些是SOAP (具有WSDL),其中一些非常特别- HTTP(s),通过基本身份验证或URL (!)中的参数进行身份验证,自然语言,如XML,它实际上不能很好地映射到域类。

目前,我已经使用Spring Web3.0 RestTemplate完成了spike集成,并使用JAXB2 (Jaxb2Marshaller)进行了绑定。需要某种类型的绑定,因为域类需要比XML更干净。

它起作用了,但感觉有点糟糕。显然,这在一定程度上是因为服务是如何构建的。我遇到的一个小问题是RestTemplate的命名,因为服务与REST无关。这是我可以接受的。不过,JAXB2感觉有点沉重。

所以,我正在寻找一些其他的替代方案。想法?我希望有一个简单的解决方案(这样RestTemplate就可以了),不要太过进取。

EN

回答 2

Stack Overflow用户

发布于 2011-08-19 21:21:32

如果我理解正确的话,您有一个应用程序必须使用不同的技术调用各种外部(web)服务。首先想到的是要有一些中级水平。虽然这可能和en ESB-solution一样复杂,但我猜这不是您想要的。

例如,您可以通过在其顶部具有接口'Consumer‘的类层次结构来实现此中间级别。方法: doConsume()等。

如果你深入研究它,你可能会有机会使用几种设计模式,比如Strategy或Template。记住要积极主动,试着问几次“如果……怎么办”。(例如:如果他们需要我使用另一个服务怎么办?等)

如果JAXB觉得太重,还可以找到其他API:

这将取决于哪一种情况更好。如果你遇到任何问题,我相信你能在这里找到帮助(还有比我更有实践经验的人;-)

票数 1
EN

Stack Overflow用户

发布于 2011-08-19 21:46:14

虽然您的一些服务可能是无模式的XML,但它们可能仍然有一个文档化良好的API。Spring推崇的技术之一是使用XPath/XQuery从请求中仅检索真正需要的信息,至少从web服务服务器端是这样。我知道这可能只是你解决方案的一部分,但我不确定这是不是一个特定的绑定框架就能满足你的所有需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7121875

复制
相关文章

相似问题

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