我在从 php Web 服务反序列化肥皂 XML 时遇到问题
从 Web 服务返回的 XML 有一个标签<item xsi:type="xsd:">
基本上它的说法type=""
会引发错误:
“指定的类型无法识别:name=':'”</p>
属性xsi:type="xsd:"
有效吗?
我已经要求客户删除它,但他们说他们不能。
我在从 php Web 服务反序列化肥皂 XML 时遇到问题
从 Web 服务返回的 XML 有一个标签<item xsi:type="xsd:">
基本上它的说法type=""
会引发错误:
“指定的类型无法识别:name=':'”</p>
属性xsi:type="xsd:"
有效吗?
我已经要求客户删除它,但他们说他们不能。
属性
xsi:type="xsd:"
有效吗?
不它不是。(可选)属性xsi:type
用于验证文档以指定该元素的类型。该属性明确设置该元素的类型。
但是xsd:
是无效的类型。因为它没有指定任何类型。它是一个未完成的类型的QName,它只包含xsd:
前缀,后面没有类型的本地名称 。这是完全无效的,因此无法定义类型。
因为无法定义类型(您不能定义具有零长度local-name的类型),所以验证必须失败。
首先明确该元素必须是哪种类型,然后考虑首先创建您自己的 SOAP 客户端,该客户端能够处理这些(不完整、无效)规范。
告诉你的客户问题是什么,后果是什么,你不能在不重新协商开发的情况下及时偿还他们的技术债务,因为他们迄今为止告诉你的工作前提是错误的:他们没有用他们的网络服务给出一个有效的SOAP 响应。可能是他们到目前为止没有注意到,所以你有责任告诉他们他们有错。保重,祝你好运。
另见: