Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 支持Rest和x2B;JSON和SOAP_Spring_Web Services_Rest_Jersey_Cxf - Fatal编程技术网

Spring 支持Rest和x2B;JSON和SOAP

Spring 支持Rest和x2B;JSON和SOAP,spring,web-services,rest,jersey,cxf,Spring,Web Services,Rest,Jersey,Cxf,我需要建立一套网络服务。一些客户端希望将其称为REST-JSON方式。还有一些是用肥皂的方式。我只想写一组代码。最重要的是,使用come配置参数,输出格式应该改变。换句话说,SOAP客户机将传递SOAP输入XML并获得SOAP输出XML。对于其他客户端,它将是JSON。 我的选择是什么 不重复自己通常是好的,但这会使事情变得复杂。 远程接口足够复杂,因此混合使用技术来减少几行代码可能会使您的接口不可维护(根本不可维护) 由于你只是笼统地问,我只能给你一个笼统的回答 首先,有一篇类似的文章将进一步

我需要建立一套网络服务。一些客户端希望将其称为REST-JSON方式。还有一些是用肥皂的方式。我只想写一组代码。最重要的是,使用come配置参数,输出格式应该改变。换句话说,SOAP客户机将传递SOAP输入XML并获得SOAP输出XML。对于其他客户端,它将是JSON。
我的选择是什么

不重复自己通常是好的,但这会使事情变得复杂。 远程接口足够复杂,因此混合使用技术来减少几行代码可能会使您的接口不可维护(根本不可维护)

由于你只是笼统地问,我只能给你一个笼统的回答

首先,有一篇类似的文章将进一步介绍技术层:

但还有其他问题你也应该自己回答:

  • 您的服务应该做什么(用例)
  • 在哪里切
您使用Spring(或Jersy MK2),因此使用IoC将极大地帮助您做出漂亮的切割

正如您可能看到的,我建议创建两个不同的WS端点。一个用于休息,一个用于肥皂。 乍看起来可能有悖常理,但我的推理很简单:

  • 太多的注释隐藏了你的东西在做什么
  • 您可能有不同的技术需求,或者这些需求会随着时间的推移而发展
  • 关注点的分离减少了测试时间
为您的后端编写两个消费者可以让您更好地了解您的后端“有多好”,以及您的用例有多好

上述联系背后的例子并不复杂,不足以成为“现实世界”的案例。 这样做看起来很好

一旦你开始在安全、计费、监控和跟踪方面做一些重要的工作。。。数量会以一种奇怪的方式堆积起来


最后但并非最不重要的一点是:在REST方式下有意义的东西不需要在SOAP方式下有意义,反之亦然。

SOAP和REST不是AO,而是XML和JSON。RESTful应用程序与资源有关。SOAP基本上是RPC。