我在技术访谈中被问到这个问题是为了整合实习生的角色。
他正在深入了解SOAP Web服务。
问题)。请考虑您通过SOAP向客户端公开Web服务。 当您检查时,您提供服务的URL已启动并正在运行。 但是客户端有问题,他无法访问您的Web服务。 您将如何解决此问题?
我的回复:
我首先检查客户端尝试访问该服务的URL是否正确。 将检查.wsdl文件:port,bindings&将检查是否在向URL发送SOAP请求时,是否通过SOAP UI在本地接收SOAP响应。 如果我收到错误,将根据我得到的错误类型进行故障排除:如找不到页面,null异常等。
我觉得他还在期待其他一些观点。他暗示说在哪个注册表中你将检查所有托管的Web服务(我想这很大程度上是一个生产支持问题:P)
我告诉过我可能会查看UDDI注册表,但对此并不确定。
请让我知道您对正确方法的看法?
答案 0 :(得分:1)
Apache jUDDI PMC在这里。是的UDDI可用于验证客户端是否指向正确的位置,假设客户端知道UDDI服务器的位置以及注册的位置,并且客户端知道要在UDDI服务器上查询的内容,并且UDDI查询是其中的一部分客户的正常工作流程。这是很多假设,但肯定是可行的。
大多数时候,端点位于某个配置文件中,或者某个白痴硬编码。
也就是说,这是我去检查SOAP服务连接的列表(从客户端的角度来看)
编辑: 另一种替代方法是在每个SOAP服务上实现一个非常简单的API(wsdl方法),该服务简单地返回一个true / false,回答“我是否为业务开放?”这一问题。此方法将通过测试外部依赖项(数据库和诸如此类)来提供标准化方法,以识别服务是否可用。