如果应用程序在很大程度上依赖于SOAP Web服务来提取数据并根据它接收的数据构建页面,那么如果soap Web服务不起作用,那么确定和处理它的最佳方法是什么?
WSDL是否可用,但Web服务是否已关闭?我被告知这是可能的。
了解项目的历史和我的关注点:
我关心的问题在于如何处理以及如何在Web服务出现故障时妥善处理错误。
我编写了一个定义与Web服务的所有交互的接口,我编写了一个实现此接口的客户端类。客户端类中的所有方法都在try / catches中,因此我知道在请求数据或从此Web服务中提取数据时出现问题。
但是,在向用户显示登录页面之前,先抢先检查Web服务是否已关闭。这就是我真正想要的。
答案 0 :(得分:1)
确定它的唯一方法是做一个请求。如果它只是提取数据,而不是改变它,并经常提取相同的数据,你可能想要缓存返回(web服务的所有者甚至可能喜欢),并在服务器无法访问/请求失败时提供服务
当wsdl可用时,服务器可能会关闭,如果服务器上出现问题,它甚至可以发出与您的请求无关的SOAP错误消息等。
答案 1 :(得分:1)
SOAP Web服务使用听力方法的情况并不少见。
此方法不进行处理,但返回特定值。
关于这个方法应该是什么以及它应该返回什么,有多个讨论。您可以查看此link了解某些选项
如果您对服务心跳方法的调用给出了该值,那么该服务已启动并运行,否则与服务/服务的连接存在问题。