Como receber uma temp-table no SOAPUI

Estou realizando alguns testes pelo SOAP-UI para realizar integrações FLUIG x TOTVS. Já foi criado uma procedure que vamos testar, porem não estou conseguindo receber as informações pois sempre dá este erro:

<faultstring>com.totvs.framework.ws.execbo.service.ExecBOServiceException: ERROR condition: Mismatched parameter types passed to procedure pi-busca-transportadora dzp/dzwf001.p. (3230) (7211)</faultstring>

Segue a procedure:

def temp-table tt-transp no-undo
    field cod-transp     like transporte.cod-transp 
    field nome-abrev     like transporte.nome-abrev
    field cnpj           like transporte.cgc.

procedure pi-busca-transportadora:

   def output param table for tt-transp.

   for each transporte no-lock:

      create tt-transp.
      assign tt-transp.cod-transp = transporte.cod-transp  
             tt-transp.nome-abrev = transporte.nome-abrev
             tt-transp.cnpj       = transporte.cgc.      
   end.

end procedure.

Requisição SOAP:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.execbo.ws.framework.totvs.com">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:callProcedureWithToken>
         <!--Optional:-->
         <arg0>[Token removido]</arg0>
         <!--Optional:-->
         <arg1>dzp/dzwf001.p</arg1>
         <!--Optional:-->
         <arg2>pi-busca-transportadora</arg2>
         <!--Optional:-->
         <arg3>
          [
          {     "name":"tt-transp",
                 "type":"input-output",
                 "dataType":"temptable",
                 "value":{    
                     "name":"tt-transp",
                   "fields":[
                     {"name":"cod-transp","label":"cod-transp",    "type":"integer"},
                     {"name":"nome-abrev","label":"nome-abrev",    "type":"character"},
                     {"name":"cnpj",      "label":"cnpj",          "type":"character"}
                   ],
                   "records":[]
              }
          }
          ]
      </arg3>
      </ser:callProcedureWithToken>
   </soapenv:Body>
</soapenv:Envelope>

Alguém saberia me dizer o que aonde está o problema?

compartilhar
  • Bom dia @Carlos Moura, está dando erro de passagem de parâmetro, sugiro você colocar pelo menos um ponto de entrada na sua procedure, tipo DEFINE INPUT PARAMETER p1 AS CHARACTER, e ai quando você fazer a requisição pelo SOAPUI passa o parâmetro em branco.

    Um outro problema que eu encontrei nas chamadas das Procedures dentro do FLUIG foi o nome da Procedure usando "-" e vi que você colocou na sua, mas, o problema que você reportou tem a ver com passagem de parâmetro e não com caracter "-".

    Marcos Frasson   07 de Nov de 2017
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags integracao soap ou faça a sua própria pergunta.