GroovyWS and complex requests

前端 未结 3 1766
天涯浪人
天涯浪人 2020-12-30 11:22

I\'ve faced with a problem of sending complex requests with GroovyWS.

This is sample request generated by soapUI:



        
3条回答
  •  情话喂你
    2020-12-30 12:17

    Thanks! I got GroovyWS working with a really complex webservice!

    My steps: I turned on debug to get the root class, then did that reflection code to get inner classes, and go on setting properties and check if it is string or list.

    And voilá!

    def proxy = new WSClient(wsdl,this.class.classLoader)
    proxy.initialize()
    
    def f2bCobranca = proxy.create("br.com.f2b.soap.wsbilling.F2BCobranca") //got with debug on
    
    //Show me inner classes of root class
    f2bCobranca.class.fields.each { log.debug it }
    f2bCobranca.class.methods.each { log.debug it }
    
    f2bCobranca.cobranca = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Cobranca')
    f2bCobranca.cobranca.demonstrativo << 'teste' //it's a list!
    f2bCobranca.cobranca.sacadorAvalista = 'teste jose'
    f2bCobranca.cobranca.desconto = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Cobranca$Desconto')
    f2bCobranca.cobranca.multa = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Cobranca$Multa')
    
    def sacado1 = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Sacado')
    sacado1.nome = "teste ${new Date()}"
    sacado1.email << 'teste@wanswins.com.br'
    sacado1.endereco = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Sacado$Endereco')
    sacado1.telefone = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Sacado$Telefone')
    sacado1.telefoneCom = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Sacado$TelefoneCom')
    sacado1.telefoneCel = proxy.create('br.com.f2b.soap.wsbilling.F2BCobranca$Sacado$TelefoneCel')
    sacado1.cpf = ''
    sacado1.cnpj = ''
    sacado1.observacao = ''
    f2bCobranca.sacado << sacado1  
    
    def retorno = proxy.RegisterWSBilling(f2bCobranca)
    log.debug retorno
    

提交回复
热议问题