使用.NET WCF客户端反序列化php soap Web服务时出错

使用.NET WCF客户端反序列化php soap Web服务时出错,php,.net,xml,soap,webservice-client,Php,.net,Xml,Soap,Webservice Client,我在从php web服务反序列化soap XML时遇到了一个问题 从web服务返回的XML有一个标记 基本上,它的说法是type=”“,它抛出了一个错误: “无法识别指定的类型:名称=':'” 属性xsi:type=“xsd:有效吗 我已经要求客户删除它,但他们说他们不能 属性xsi:type=“xsd:有效吗 不,不是。(可选)属性xsi:type用于验证文档以指定该元素的类型。该属性显式设置该元素的类型 但是xsd:是无效类型。因为它没有指定任何类型。它是类型的一个未完成的QName,它只包

我在从php web服务反序列化soap XML时遇到了一个问题

从web服务返回的XML有一个标记

基本上,它的说法是
type=”“
,它抛出了一个错误:

“无法识别指定的类型:名称=':'”

属性
xsi:type=“xsd:
有效吗

我已经要求客户删除它,但他们说他们不能

属性
xsi:type=“xsd:
有效吗

不,不是。(可选)属性
xsi:type
用于验证文档以指定该元素的类型。该属性显式设置该元素的类型

但是
xsd:
是无效类型。因为它没有指定任何类型。它是类型的一个未完成的QName,它只包含
xsd:
前缀,后面没有类型的本地名称。这是完全无效的,因此无法定义类型

由于无法定义类型(不能定义具有零长度本地名称的类型),因此验证必须失败

首先阐明元素必须是哪一种类型,然后考虑创建一个自己的SOAP客户端,能够首先处理这些(不完整的、无效的)规范。 告诉您的客户问题是什么,后果是什么,如果不重新协商开发,您就无法及时偿还他们的技术债务,因为到目前为止,他们告诉您工作的先决条件是错误的:他们的Web服务没有给出有效的SOAP响应。可能是因为他们到目前为止还没有注意到,所以你有责任告诉他们他们错了。保重,祝你好运

另见: