从客户端的角度访问 SOAP 服务 URL
Accessing a SOAP service URL from a Clients point of view
我在一个集成实习生角色的技术面试中被问到这个问题。
他深入了解 SOAP Web 服务。
问题)。 假设您正在通过 SOAP 向客户端公开 Web 服务。
您提供服务的 url 已启动,当您检查它时 运行。
但是客户有问题,他无法访问您的网络服务。
您将如何解决此问题?
我的回复:
我会先检查 url 客户端尝试访问服务是否正确。
将检查 .wsdl 文件:端口、绑定并检查一次是否在向 URL 发送 SOAP 请求时,我是否通过 SOAP UI 在本地接收到 SOAP 响应。
如果我遇到错误,将根据我遇到的错误类型进行故障排除:如找不到页面、空异常等
我感觉他还在期待别的什么。他暗示说你将在哪个注册表中检查所有已托管的 Web 服务(我想这主要是一个生产支持问题 :P)
我告诉过我可能会查看 UDDI 注册中心,但对此不确定。
请让我知道您对什么可能是正确方法的意见?
这里是 Apache jUDDI PMC。是的 UDDI 可用于验证客户端是否指向正确的位置,假设客户端知道 UDDI 服务器在哪里并且它已注册并且客户端知道要在 UDDI 服务器上查询什么并且 UDDI 查询是其中的一部分客户的正常工作流程。这是很多假设,但肯定是可行的。
大多数时候,端点位于某个配置文件中,或者某些白痴对其进行了硬编码。
也就是说,这是我检查 SOAP 服务连接性的列表(从客户端的角度来看)
- URL
中主机名的 DNS 解析
- Ping 远程主机
- HTTP GET 到 SOAP 服务的 URL + ?wsdl(这通常有效)。这也是验证 SSL 连接的好时机。
- 您还可以解析 WSDL 文档,假设返回一个用于识别端点 url。
- 最后,如果一切正常,执行服务。 HTTP 200 一般是正号
编辑:
另一种替代方法是在每个 SOAP 服务上实现一个非常简单的 API(wsdl 方法),即简单 returns 一个 true/false 来回答问题 "Am I open for business?"。此方法将提供一种标准化方法,用于通过测试外部依赖项(数据库等)来确定服务是否可用。
我在一个集成实习生角色的技术面试中被问到这个问题。
他深入了解 SOAP Web 服务。
问题)。 假设您正在通过 SOAP 向客户端公开 Web 服务。 您提供服务的 url 已启动,当您检查它时 运行。 但是客户有问题,他无法访问您的网络服务。 您将如何解决此问题?
我的回复:
我会先检查 url 客户端尝试访问服务是否正确。 将检查 .wsdl 文件:端口、绑定并检查一次是否在向 URL 发送 SOAP 请求时,我是否通过 SOAP UI 在本地接收到 SOAP 响应。 如果我遇到错误,将根据我遇到的错误类型进行故障排除:如找不到页面、空异常等
我感觉他还在期待别的什么。他暗示说你将在哪个注册表中检查所有已托管的 Web 服务(我想这主要是一个生产支持问题 :P)
我告诉过我可能会查看 UDDI 注册中心,但对此不确定。
请让我知道您对什么可能是正确方法的意见?
这里是 Apache jUDDI PMC。是的 UDDI 可用于验证客户端是否指向正确的位置,假设客户端知道 UDDI 服务器在哪里并且它已注册并且客户端知道要在 UDDI 服务器上查询什么并且 UDDI 查询是其中的一部分客户的正常工作流程。这是很多假设,但肯定是可行的。
大多数时候,端点位于某个配置文件中,或者某些白痴对其进行了硬编码。
也就是说,这是我检查 SOAP 服务连接性的列表(从客户端的角度来看)
- URL 中主机名的 DNS 解析
- Ping 远程主机
- HTTP GET 到 SOAP 服务的 URL + ?wsdl(这通常有效)。这也是验证 SSL 连接的好时机。
- 您还可以解析 WSDL 文档,假设返回一个用于识别端点 url。
- 最后,如果一切正常,执行服务。 HTTP 200 一般是正号
编辑: 另一种替代方法是在每个 SOAP 服务上实现一个非常简单的 API(wsdl 方法),即简单 returns 一个 true/false 来回答问题 "Am I open for business?"。此方法将提供一种标准化方法,用于通过测试外部依赖项(数据库等)来确定服务是否可用。