【发布时间】:2013-07-19 15:52:43
【问题描述】:
我在当前工作中继承的其中一个 Web 服务包含一个 WSDL 模式,该模式具有以下命名空间定义:
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:mns="http://my.example.com/sumproj/msgs.xsd"
xmlns:tns="http://my.example.com/sumproj"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://my.example.com/sumproj/msgs.xsd"
elementFormDefault="qualified">
上面列出的所有外部 URL 都可以通过网络浏览器访问,但内部 URL(my.example.com 域)只会产生“未找到”错误:
未找到
在此服务器上找不到请求的 URL /sumproj/msgs.xsd。
既然有人问为什么某些事情是按照它们的方式实现的,我想知道这是一个错误还是一个功能:
-
创作开发人员是否打算将命名空间 XSD 放在该 http://my.example.com 服务器上,但根本没有实现它?
-
或者它是某种类型的安全功能,其中 URL 只能由 Web 服务通过配置 XML 访问,当它实际访问 localhost 或类似时有效地将这个 URL 定义为虚拟?
如果是后者,如何这样做以及在哪里我可以了解更多信息?
(注意:上面的example.com仅用于说明,我不能真正透露我雇主的内部URL)
【问题讨论】:
标签: xsd wsdl xml-namespaces