Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 循环SOAP结果的WCF_C#_Api_Wcf_Soap_Soapui - Fatal编程技术网

C# 循环SOAP结果的WCF

C# 循环SOAP结果的WCF,c#,api,wcf,soap,soapui,C#,Api,Wcf,Soap,Soapui,我试图从soap中获取所有ax21:responseBean的响应,但我的代码只获取最后一个插入的响应bean 我的代码如下 XmlNodeList xnList = document.SelectNodes("//ns:return", manager); int nodes = xnList.Count; foreach (XmlNode xn in xnList) { if (xn["ax21:resultText"].Inn

我试图从soap中获取所有ax21:responseBean的响应,但我的代码只获取最后一个插入的响应bean

我的代码如下

 XmlNodeList xnList = document.SelectNodes("//ns:return", manager);
 int nodes = xnList.Count;

 foreach (XmlNode xn in xnList)
            {
                if (xn["ax21:resultText"].InnerText == "Successful")
                {
                    XmlNodeList xnList1 = document.SelectNodes("//ax21:responseBean", manager);
                    int nodes1 = xnList1.Count;

                    foreach (XmlNode xn1 in xnList1)
                    {
                        if (xn1["ax21:creditTokenName"].InnerText == "FreeMoney")
                        {
                            ct.Status = "True";
                            ct.creditTokenName = xn1["ax21:creditTokenName"].InnerText;
                            ct.uniqueTokenID = xn1["ax21:uniqueTokenID"].InnerText;
                        }
                        else
                        {
                            ct.Status = "False";
                            ct.creditTokenName = "Null";
                            ct.uniqueTokenID = "Null";
                        }

                    }
                } else
                {
                    ct.Status = "False";
                }
            }
soapui返回值

<ns:return xsi:type="ax21:GetCreditTokensResponse" xmlns:ax21="http://beans.webservice.CSI.omvia.convergys.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <ax21:responseBean xsi:type="ax21:GetCreditTokenResponseBean">
           <ax21:allocationTime>2017-07-14T10:30:00.000+00:00</ax21:allocationTime>
           <ax21:creditTokenName>FreeMoney</ax21:creditTokenName>
           <ax21:creditTokenType>M</ax21:creditTokenType>
           <ax21:cumulativeFlag>false</ax21:cumulativeFlag>
           <ax21:endTime>2017-07-15T10:30:00.000+00:00</ax21:endTime>
           <ax21:originalValue>2.5</ax21:originalValue>
           <ax21:promotionName>Default Campaign</ax21:promotionName>
           <ax21:recurCost>0.0</ax21:recurCost>
           <ax21:recurDate xsi:nil="true"/>
           <ax21:recurFlag>false</ax21:recurFlag>
           <ax21:recurInterval></ax21:recurInterval>
           <ax21:recurValue>0.0</ax21:recurValue>
           <ax21:startTime>2017-07-14T10:29:00.000+00:00</ax21:startTime>
           <ax21:uniqueTokenID>4574332</ax21:uniqueTokenID>
           <ax21:value>2.5</ax21:value>
        </ax21:responseBean>
        <ax21:responseBean xsi:type="ax21:GetCreditTokenResponseBean">
           <ax21:allocationTime>2017-07-14T11:01:00.000+00:00</ax21:allocationTime>
           <ax21:creditTokenName>FreeMoney</ax21:creditTokenName>
           <ax21:creditTokenType>M</ax21:creditTokenType>
           <ax21:cumulativeFlag>false</ax21:cumulativeFlag>
           <ax21:endTime>2017-07-18T09:20:00.000+00:00</ax21:endTime>
           <ax21:originalValue>10.0</ax21:originalValue>
           <ax21:promotionName>0</ax21:promotionName>
           <ax21:recurCost>0.0</ax21:recurCost>
           <ax21:recurDate xsi:nil="true"/>
           <ax21:recurFlag>false</ax21:recurFlag>
           <ax21:recurInterval>0</ax21:recurInterval>
           <ax21:recurValue>0.0</ax21:recurValue>
           <ax21:startTime>2017-07-18T09:20:00.000+00:00</ax21:startTime>
           <ax21:uniqueTokenID>4574541</ax21:uniqueTokenID>
           <ax21:value>10.0</ax21:value>
        </ax21:responseBean>
        <ax21:resultCode>0</ax21:resultCode>
        <ax21:resultText>Successful</ax21:resultText>
     </ns:return>

2017-07-14T10:30:00.000+00:00
免费的
M
假的
2017-07-15T10:30:00.000+00:00
2.5
默认活动
0
假的
0
2017-07-14T10:29:00.000+00:00
4574332
2.5
2017-07-14T11:01:00.000+00:00
免费的
M
假的
2017-07-18T09:20:00.000+00:00
10
0
0
假的
0
0
2017-07-18T09:20:00.000+00:00
4574541
10
0
成功的
ns:return和ns:responseBean使我能够以XML格式获取最后一次插入的结果。这在邮递员身上很管用,但是,我对返回所有给出的结果感兴趣

<CreditToken xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Status>True</Status>
<uniqueTokenID>4574541</uniqueTokenID>
<creditTokenName>FreeMoney</creditTokenName>
</CreditToken>

真的
4574541
免费的

这是我的返回XML值

您可以发布您正在使用的响应的屏蔽版本吗?验证您的代码部分是否正确会很有帮助。也张贴完整的代码。xnList的定义是什么?@canpan14请检查我的更新代码FYILooks,就像xml模式有问题一样。我得到的错误是ns:return没有绑定(使用任何在线xml验证器,您都会得到相同的结果)。不确定这是否是您的错误的原因。因为我试着把它装进去,所以现在就把它指出来。因为它看起来显然是正确的,这可能是因为我试图调用某个模式/文件或任何我无法命中的东西。或者,如果您也看到它,那么首先文件有问题。@canpan14检查我对上面编辑的代码的返回。我只需要返回多个响应。这不是因为您正在设置ct。在for循环中有什么吗?因此,无论您在前面的循环中设置了什么,都将被最后一个循环覆盖。