首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自ColdFusion webservice的SOAP响应结构

来自ColdFusion webservice的SOAP响应结构
EN

Stack Overflow用户
提问于 2009-05-14 11:10:10
回答 2查看 1.2K关注 0票数 2

我创建的ColdFusion‘ve服务有问题。该服务接受Base64编码的XML数据,然后将其写入磁盘进行存档。然后,该文件经过基本的模式检查,并将所有错误报告给用户,如下所示:

代码语言:javascript
运行
复制
<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>

问题是<xmlValErrors>元素的嵌套方式有点奇怪。这是由于ColdFusion处理错误数组的方式造成的。结果是,当用户试图分析响应时,他们只能看到初始的<xmlValErrors>元素。

在这里,.Net似乎是一个特别的问题,因为它将<xmlValErrors>元素视为一个空数组,尽管它显然包含许多其他元素。

我怀疑问题出在<xmlValErrors>元素内子元素上的名称的重用上。然而,我还没能在ColdFusion中找到解决这个问题的方法。

关于如何解决这个问题的想法将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-15 15:05:54

您是如何访问xmlValErrors的?因为您的错误数组位于父xmlVarErrors中,所以您需要像这样访问它:

uploadxmlreturn.xmlvarerrors.xmlvarerrors

第一个xmlvarerror指向父级,第二个指向错误数组。

讲得通?

票数 2
EN

Stack Overflow用户

发布于 2009-05-14 18:48:44

XML和SOAP都不是我的强项,但xmlValErrors的子元素不应该也称为"xmlValErrors“。难道你不希望它们都是"xmlValError“吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/862760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档