SAVON - Call

I have this method on a web service I’m consuming, using SAVON 3 on Rails 3 and Ruby 1.9.7 web app

<soapenv:Envelope xmlns:soapenv="[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)" xmlns:tem="[http://tempuri.org/](http://tempuri.org/)" xmlns:gpa="[http://schemas.datacontract.org/2004/07/Gpa.Comercio.Servicos.Contracts.DTO](http://schemas.datacontract.org/2004/07/Gpa.Comercio.Servicos.Contracts.DTO)">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:CalcularCarrinho>
         <!--Optional:-->
         <tem:carrinho>
            <!--Optional:-->
            <gpa:CEP>parameter here</gpa:CEP>
            <!--Optional:-->
            <gpa:CNPJ>parameter here</gpa:CNPJ>
            <!--Optional:-->
            <gpa:IdCampanha> parameter here </gpa:IdCampanha>
            <!--Optional:-->
            <gpa:Produtos>
               <!--Zero or more repetitions:-->
               <gpa:DadosListaProdutoCarrinhoDTO>
                  <!--Optional:-->
                  <gpa:Codigo> parameter here </gpa:Codigo>
                  <!--Optional:-->
                  <gpa:Quantidade>parameter here</gpa:Quantidade>
               </gpa:DadosListaProdutoCarrinhoDTO>
            </gpa:Produtos>
         </tem:carrinho>
      </tem:CalcularCarrinho>
   </soapenv:Body>
</soapenv:Envelope>

How should I make a call to this method, considering that the “Produtos” parameter is an array? I tried:

client.call(:calcular_carrinho){message(id_campanha: 2543, cnpj: '93.528.261/0001-60', cep: '04080013', produtos: ['379457', 1])}

P.S: I made tests with soapUI and the service is working…

Best!

Do you mean ruby 1.8.7 ? Savon 3 doesn’t support 1.8.7

Fred

Fred

Sorry!! Ruby 1.9