【发布时间】:2018-03-20 11:36:54
【问题描述】:
我们使用 GSoap 发送 SOAP 请求并处理响应。但是,我们遇到了一个问题,因为远程服务器使用包含以下内容的 XML 进行回复:
ax21 命名空间和 xsi 命名空间在上面的一个元素中定义,这很好(并且 xsi 是“标准”xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ”)。然而,axis2ns9259 命名空间是未知的(据我所知——文档中没有提到它)。 GSoap 不喜欢它,并以错误退出,告诉我们类型不匹配。
然而,阅读 XML 规范,似乎“anyType”类型存在于所有命名空间中(事实上,它是该命名空间类型层次结构的“根”,即 ur-type)。此类型接受 ANYTHING(任意数量的元素和/或属性)
所以,我想知道:GSoap 是不是太“严格”了,还是服务器应该已经定义了这个命名空间,即使我们应该能够知道这个类型是什么?
我们不知道我们是否应该“更正”我们的代码(也就是说,可能是屠夫 GSoap 以便它接受这个),或者责怪服务器发送不正确的 XML(格式良好,但无效 - 事实上,它们甚至不提供 XSD 或 DTD)
【问题讨论】:
标签: xml