使用Ruby

时间:2018-03-07 10:24:29

标签: ruby-on-rails ruby soap wash-out

我正在使用Ruby中的wash_out gem开发SOAP服务。我有一个soap请求,我将在soap请求中获取重复元素(下面给出的请求中的唯一ID)。但我找不到在args参数中定义这些元素的方法。

SOAP请求是:

<OTA_CancelRQ Version="2.1" EchoToken="201403211421"
 xmlns="http://www.opentravel.org/OTA/2003/05"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <UniqueID ID="859623" Type="501"/>

 <UniqueID ID="ABCDEF" Type="502"/>

 <UniqueID ID="123456" Type="10"/>

 <Reasons>
 <Reason>business plan changed</Reason>
 </Reasons>
</OTA_CancelRQ>

以下是我的清洗控制器中的代码:

soap_service namespace: 'urn:WashOut'

    soap_action "OTA_CancelRQ",
                  :args => {
                    :OTA_CancelRQ =>{

                      :UniqueID => {
                        :@ID => :integer,
                        :@Type => :integer
                      },
                      :Reasons => [{:Reason => :string }]
                    }},
                  :return => :string,
                  :to => :cancel_booking

这些args生成一个只有一个UniqueId元素的WSDL。我已经尝试在args中多次定义UniqueId,但它只生成一个UniqueId元素。

0 个答案:

没有答案