Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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
Java Web服务:远程接口与请求/响应方案_Java_Web Services_Jakarta Ee_Soap_Ejb - Fatal编程技术网

Java Web服务:远程接口与请求/响应方案

Java Web服务:远程接口与请求/响应方案,java,web-services,jakarta-ee,soap,ejb,Java,Web Services,Jakarta Ee,Soap,Ejb,我从未使用过SOAP或EJB。我读过关于肥皂的书,但没有抓住一点(也许是要点) 问题:为什么要使用远程接口而不是简单的请求/响应方案 我的注意事项:SOAP允许我们调用远程服务的方法。它使用XML。但为什么它比只使用SOA(面向服务的方法)并发送JSON请求->获取JSON响应更好呢。我在应用程序中借助WebSocket和JSON实现了这一点。此外,SOAP速度很慢,似乎比我需要的方法慢。我认为远程接口的优点是,您不必解析任何XML。当您从远程接口收到回复时,将构造一个对象,您可以使用该对象而无

我从未使用过SOAP或EJB。我读过关于肥皂的书,但没有抓住一点(也许是要点)

问题:为什么要使用远程接口而不是简单的请求/响应方案


我的注意事项:SOAP允许我们调用远程服务的方法。它使用XML。但为什么它比只使用SOA(面向服务的方法)并发送JSON请求->获取JSON响应更好呢。我在应用程序中借助WebSocket和JSON实现了这一点。此外,SOAP速度很慢,似乎比我需要的方法慢。

我认为远程接口的优点是,您不必解析任何XML。当您从远程接口收到回复时,将构造一个对象,您可以使用该对象而无需任何进一步处理。然而,SOAP似乎是目前比较流行的方法,因为您不受特定环境的限制。例如,您必须在客户机上使用java来使用远程接口,但是使用SOAP,任何客户机都可以接受和处理XML,原因是SOAP采用契约优先的方法。这也允许我们从这些契约中构建类,这样我们就有了可以通过WSDL构建的类。这非常有用,因为这意味着我们不必构建表示web服务端点的类,但是,如果端点签名发生更改,我们需要更新相关生成的WSDL类


在我看来,SOAP对于.NET或Java来说更有用,因为可以从中生成类,并且IDE可以通过立即允许您访问这些类而带来帮助。当我使用php时,我总是觉得SOAP不像REST那么容易使用,因为当您真正想要发送的是“something=true”时,必须构建XML响应

就我而言,我可以在jackson的帮助下构建类。我的意思是获取json字符串,调用
mapper.objectToJson
并获取对象。优点是什么?但是除了SOAP还有其他选择。JSON?JSON本身不是SOAP的替代品,我想你指的是REST和SOAP,因为JSON只是一个对象规范,SOAP是一个web服务协议。我写我的服务。它使用WebSocket和json。不需要肥皂,也不需要休息。我从不后悔。当我必须使用SOAP,而WebSocket和JSON不好时,你能给我一个例子吗?objectToJson只是将一个对象转换成一个JSON对象,它实际上并没有像SOAP那样进行传输、调用端点、进行HTTP握手等。