Coldfusion Webservice接收对象

时间:2012-06-21 22:20:19

标签: web-services coldfusion bluedragon

我觉得自己没有想出这个问题。我有coldfusion webservice(bluedragon7)接受来自合作伙伴的信息。它们在结果字段中传递xml,它只显示参数中accessionNumber的第一个元素。如果我将参数类型更改为其他任何内容(any,string等),则会抛出500个错误。我在这里错过了什么吗?

以下是该功能的片段:

<cffunction access="remote" name="result" output="false" returntype="any" hint="">
<cfargument name="userid" type="string" required="yes" hint="userid">
<cfargument name="password" type="string" required="yes" hint="password">
<cfargument name="result" type="xml" required="Yes" default="result">
</cffunction>  

以下是他们的帖子样本:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header />
<soapenv:Body>
    <result xmlns="http://cws.ots.labcorp.com">
        <userId>peter265974</userId>
        <password>pwd265974</password>
        <result>
            <accessionNumber>0572854881</accessionNumber>
            <accountLocationCode>000010</accountLocationCode>
            <accountLocationName>AERO CONTROL</accountLocationName>
            <accountLocationPhone>2537353350</accountLocationPhone>
            <accountName>HEALTHFORCE PARTNERS CORPORATE</accountName>
            <accountNumber>000804</accountNumber>
            <collectorCOCcomments>
                <abbreviation />
                <commentText>100154550. TEST OF VIEWING CO</commentText>
                <commentType>MS</commentType>
            </collectorCOCcomments>
        </result>
    </result>
</soapenv:Body>

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我试图循环遍历所有元素,同时检查元素是否仍然具有“xmlchild”。也许我的thread可以在这里提供帮助。

但你必须改变你的身体内容将保存在var

中的行
<cfset var body = xmlsearch(cont, "//SOAP-ENV:Body")[1] />

只需插入“soapenv:Body”而不是“SOAP-ENV:Body”