savon response.body不包含xml属性

时间:2013-11-25 06:29:06

标签: soap response savon xml-attribute

我有以下savon响应:(包含注释和其他属性,如创建日期,创建用户,位置等)

<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getSomeAPIResponse xmlns:ns2="http://v2_0.some.webservices.csx.dtv.com/">
         <return type="COMMENT" createDate="2013-11-21T10:32:17.000Z" createUser="5" location="BOSTON">my fifth note</return>
         <return type="COMMENT" createDate="2013-11-21T09:04:18.000Z" createUser="POSSTD" location="BOSTON">fourth note</return>
         <return type="COMMENT" createDate="2013-11-21T08:49:20.000Z" createUser="POSSTD" location="BOSTON">third note</return>
         <return type="COMMENT" createDate="2013-11-21T08:43:42.000Z" createUser="POSSTD" location="BOSTON">second note</return>
         <return type="COMMENT" createDate="2013-11-21T08:43:42.000Z" createUser="POSSTD" location="BOSTON">first note</return>
      </ns2:getSomeAPIResponse >
   </S:Body>
</S:Envelope>

当我尝试获取response.body时,它包含注释但不包含创建用户,创建日期,位置等缺少的属性,如:

{:get_some_api_response=>
  {:return=>
    ["my fifth note",
     "fourth note",
     "third note",
     "second note",
     "first note"],
   :"@xmlns:ns2"=>"http://v2_0.some.webservices.csx.dtv.com/"}}

如果可能的话,我需要在response.body或其他任何可能的方法中拥有这些属性。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:rCResponse xmlns:ns2="http://v2_0.customer.webservices.csx.dtv.com/">
         <return ResponseCode="OK">
            <CustomerID>2072</CustomerID>
            <SignupDate>2013-11-13Z</SignupDate>
            </LastUpdateInfo>
            <Affiliation />
        <Notes>
               <Note createDate="2013-11-25T12:08:22.000Z" createUser="16" location="NCR">sixth note</Note>
               <Note createDate="2013-11-21T08:43:42.000Z" createUser="PSTD" location="BOSSTON">second note</Note>
               <Note createDate="2013-11-21T08:43:42.000Z" createUser="PSTD" location="BOSSTON">first note</Note>
               <MaskData>false</MaskData>
        </Notes>
            <CustomerCards />
            <MaskData>false</MaskData>
         </return>
      </ns2:rCResponse>
   </S:Body>
</S:Envelope>

我怀疑当xml节点元素同时具有属性和值时会发生这种情况。对此类情况的任何见解?