Ruby on rails 3 如何使用rails从soap webservice返回对象列表

Ruby on rails 3 如何使用rails从soap webservice返回对象列表,ruby-on-rails-3,web-services,soap,savon,Ruby On Rails 3,Web Services,Soap,Savon,我使用Savon访问soap Web服务,但我只能返回一个结果,而我需要的是一个结果数组 这是我的电话: response=client.call(:获取事件,消息:{用户名:“xxxx”,密码:“xxxxxxxx”,公司代码:“12TCE”}) 我希望“response”返回公司代码为“12TCE”的所有记录,以便我能够通过以下方式输出所有记录: response.to_hash[:get_events_response]。每个do|a| a[:返回][:项目][:名称] 结束 如何根据需要返

我使用Savon访问soap Web服务,但我只能返回一个结果,而我需要的是一个结果数组

这是我的电话:

response=client.call(:获取事件,消息:{用户名:“xxxx”,密码:“xxxxxxxx”,公司代码:“12TCE”})

我希望“response”返回公司代码为“12TCE”的所有记录,以便我能够通过以下方式输出所有记录:

response.to_hash[:get_events_response]。每个do|a| a[:返回][:项目][:名称] 结束

如何根据需要返回所有记录和输出

更新1:

这是指向wsdl的链接:

这是我得到的答复:

HTTPI POST request to www.brrmedia.co.uk (httpclient)
SOAP response (status 200)
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.brrmedia.co.uk/webservices/event" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body>
    <ns1:getEventsResponse xmlns:ns1="http://www.brrmedia.co.uk/webservices/event">
      <return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:objEvent[1]">
        <item xsi:type="tns:objEvent">
          <id xsi:type="xsd:int">119466</id>
          <name xsi:type="xsd:string">blur Group - 2000 projects milestone</name>
          <summary xsi:type="xsd:string"/>
          <location xsi:type="xsd:string"/>
          <date xsi:type="xsd:string">2013-12-17 11:30</date>
          <link xsi:type="xsd:string">http://www.brrmedia.co.uk/event/119466/partner/brrsoap</link>
          <company xsi:type="tns:objCompany">
            <name xsi:type="xsd:string">blur Group</name>
            <codes xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:objCompanyCode[1]">
              <item xsi:type="tns:objCompanyCode">
                <code xsi:type="xsd:string">BLUR</code>
                <collection xsi:type="xsd:string">London Stock Exchange (AIM)</collection>
              </item>
            </codes>
            <website xsi:type="xsd:string">http://www.blurgroup.com/</website>
            <category xsi:type="xsd:string">Technology</category>
          </company>
          <presenter xsi:type="tns:objPresenter">
            <name xsi:type="xsd:string"> Philip Letts</name>
            <image xsi:type="xsd:string">http://www.brrmedia.co.uk/getimage/id/31215</image>
          </presenter>
          <media xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:objMediaItem[3]">
            <item xsi:type="tns:objMediaItem">
              <src xsi:type="xsd:string">http://s3-us-west-2.amazonaws.com/brr-streamguys/files/BLUR/blur20131217.pdf</src>
              <duration xsi:type="xsd:string">00:00:00</duration>
              <filesize xsi:type="xsd:string">380</filesize>
              <media_type xsi:type="xsd:string">pdf</media_type>
            </item>
            <item xsi:type="tns:objMediaItem">
              <src xsi:type="xsd:string">http://s3-us-west-2.amazonaws.com/brr-streamguys/files/BLUR/BLUR20131217</src>
              <duration xsi:nil="true" xsi:type="xsd:string"/>
              <filesize xsi:nil="true" xsi:type="xsd:string"/>
              <media_type xsi:type="xsd:string">presimages</media_type>
            </item>
            <item xsi:type="tns:objMediaItem">
              <src xsi:type="xsd:string">http://s3-us-west-2.amazonaws.com/brr-streamguys/files/BLUR/BLUR20131217editv1.mp3</src>
              <duration xsi:type="xsd:string">00:07:54</duration>
              <filesize xsi:type="xsd:string">5557</filesize>
              <media_type xsi:type="xsd:string">audio</media_type>
            </item>
          </media>
          <type xsi:type="xsd:string">audio</type>
          <height xsi:type="xsd:int">900</height>
          <width xsi:type="xsd:int">680</width>
        </item>
      </return>
    </ns1:getEventsResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HTTPI发布请求至www.brrmedia.co.uk(httpclient)
SOAP响应(状态200)
119466
blur Group-2000项目里程碑
2013-12-17 11:30
http://www.brrmedia.co.uk/event/119466/partner/brrsoap
模糊群
模糊
伦敦证券交易所(AIM)
http://www.blurgroup.com/
技术
菲利普·莱茨
http://www.brrmedia.co.uk/getimage/id/31215
http://s3-us-west-2.amazonaws.com/brr-streamguys/files/BLUR/blur20131217.pdf
00:00:00
380
pdf
http://s3-us-west-2.amazonaws.com/brr-streamguys/files/BLUR/BLUR20131217
预映像
http://s3-us-west-2.amazonaws.com/brr-streamguys/files/BLUR/BLUR20131217editv1.mp3
00:07:54
5557
音频
音频
900
680

wsdl是什么样子的?你用SOapUI试过了吗?日志记录是什么样子的?在你提出这样的问题之前,你需要多考虑。然后我们可以提供帮助。我尝试使用SOapUI获得所需的响应,但没有成功。我用更多信息更新了这个问题。您有什么特别需要看的吗?我在您提供的响应中找不到数组。也许我找错地方了。如果响应中没有数组,则无法在客户端将其转换为数组。也许您应该检查接口的发布者,了解如何获取数组。它是否在另一种语言(如PHP)中为您工作?