.net 来自ColdFusion webservice的SOAP响应结构
我创建的ColdFusion Web服务有问题。该服务接受Base64编码的XML数据,然后将其写入磁盘进行归档。然后对该文件进行基本模式检查,并按如下方式向用户报告任何错误:.net 来自ColdFusion webservice的SOAP响应结构,.net,xml,web-services,soap,coldfusion,.net,Xml,Web Services,Soap,Coldfusion,我创建的ColdFusion Web服务有问题。该服务接受Base64编码的XML数据,然后将其写入磁盘进行归档。然后对该文件进行基本模式检查,并按如下方式向用户报告任何错误: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.or
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<UploadXMLResponse xmlns="http://url">
<UploadXMLReturn>
<AuthMessage>Authentication successful</AuthMessage>
<AuthStatus>Success</AuthStatus>
<FileInfo>File Example.xml was successfully uploaded</FileInfo>
<UploadStatus>Success</UploadStatus>
<xmlValErrors>
<xmlValErrors xsi:type="xsd:string">1824</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">Error Message</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">23</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">1824</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">Error Message</xmlValErrors>
<xmlValErrors xsi:type="xsd:string">38</xmlValErrors>
</xmlValErrors>
<xmlValMessage>Schema validation generated errors</xmlValMessage>
<xmlValStatus>Failure</xmlValStatus>
</UploadXMLReturn>
</UploadXMLResponse>
</soapenv:Body>
</soapenv:Envelope>
身份验证成功
成功
文件Example.xml已成功上载
成功
1824
错误消息
23
1824
错误消息
38
架构验证生成错误
失败
问题是
元素的嵌套方式有点奇怪。这是因为ColdFusion处理错误数组的方式。结果是,当用户试图分析响应时,他们只能看到初始的
元素
Net在这里似乎是一个特殊的问题,因为它将
元素视为一个空数组,尽管它显然包含许多其他元素
我怀疑问题在于在
元素中的子元素上重用名称。然而,在ColdFusion中,我还没有找到一个解决这个问题的方法
对于如何解决这一问题,我将不胜感激。XML和SOAP都不是我的强项,但xmlValErrors的子元素不应该也被称为“xmlValErrors”。您不想让它们都是“xmlvaleror”吗?您是如何访问xmlvaleror的?因为您的错误数组位于父xmlVarErrors中,所以您希望像这样访问它: 上载XmlReturn.xmlvarerrors.xmlvarerrors 第一个xmlvarerrors指向父级,第二个指向错误数组
有意义吗?Al,这正是我的问题。我希望有人能从处理Coldfusion构建输出的方式这两个角度来回答这个问题。或者提供一个解决方案,允许.Net查看子元素,即使它们的名称很烦人。