从客户端的角度访问SOAP服务URL

时间:2017-10-13 20:06:23

标签: web-services soap wsdl soapui uddi

我在技术访谈中被问到这个问题是为了整合实习生的角色。

他正在深入了解SOAP Web服务。

问题)。请考虑您通过SOAP向客户端公开Web服务。 当您检查时,您提供服务的URL已启动并正在运行。 但是客户端有问题,他无法访问您的Web服务。 您将如何解决此问题?

我的回复:

我首先检查客户端尝试访问该服务的URL是否正确。 将检查.wsdl文件:port,bindings&将检查是否在向URL发送SOAP请求时,是否通过SOAP UI在本地接收SOAP响应。 如果我收到错误,将根据我得到的错误类型进行故障排除:如找不到页面,null异常等。

我觉得他还在期待其他一些观点。他暗示说在哪个注册表中你将检查所有托管的Web服务(我想这很大程度上是一个生产支持问题:P)

我告诉过我可能会查看UDDI注册表,但对此并不确定。

请让我知道您对正确方法的看法?

1 个答案:

答案 0 :(得分:1)

Apache jUDDI PMC在这里。是的UDDI可用于验证客户端是否指向正确的位置,假设客户端知道UDDI服务器的位置以及注册的位置,并且客户端知道要在UDDI服务器上查询的内容,并且UDDI查询是其中的一部分客户的正常工作流程。这是很多假设,但肯定是可行的。

大多数时候,端点位于某个配置文件中,或者某个白痴硬编码。

也就是说,这是我去检查SOAP服务连接的列表(从客户端的角度来看)

  • 网址中DNS主机名的解析
  • Ping远程主机
  • HTTP GET到SOAP服务的URL +?wsdl(这通常有效)。这也是验证SSL连接的好时机。
  • 您还可以解析WSDL文档,假设返回一个用于标识端点URL。
  • 最后,如果一切正常,请执行该服务。 HTTP 200通常是一个正号

编辑: 另一种替代方法是在每个SOAP服务上实现一个非常简单的API(wsdl方法),该服务简单地返回一个true / false,回答“我是否为业务开放?”这一问题。此方法将通过测试外部依赖项(数据库和诸如此类)来提供标准化方法,以识别服务是否可用。