Atividade de serviço - integração Protheus x Fluig

Boa tarde galera, Estou realizando um processo workflow no fluig, onde no final do processo é utilizada uma atividade de serviço que irá chamar um WebService desenvolvido no Protheus, porém estou tendo um problema com um objeto.

Meu Webservice está desenvolvido em ADVPL e utilizo um elemento que é um ARRAY OF STRUCT conforme abaixo:

WSDATA oWSTitulo       AS StructRecebe

WSSTRUCT StructRecebe

    WSDATA cCodEmp         AS STRING
    WSDATA cCodFilial    AS STRING
    WSDATA cFornecedor   AS STRING
    WSDATA cLoja         AS STRING
    WSDATA cCentroCusto  AS STRING
    WSDATA nValor        AS FLOAT
    WSDATA ArrayTitulo   as Array Of StructTitulo

ENDWSSTRUCT

WSSTRUCT StructTitulo

    WSDATA cNatureza     AS STRING
    WSDATA nValorRat     AS FLOAT
    WSDATA cPercNat      AS STRING

ENDWSSTRUCT

Realizei diversos teste via SOAPUI e a parte do WS está funcionando corretamente. O cadastro do serviço no fluig está correto e a conexão ao WS está funcional. Quando abro a visualização do serviço dentro do Eclipse tenho as classes abaixo:

1.png

A classe STRUCTRECEBE possui o método setARRAYTITULO(ARRAYOFSTRUCTTITULO), porém a classe ARRAYOFSTRUCTTITULO não possui método set, apenas get. Com isso eu não consigo "settar" os dados no meu objeto para passá-lo para meu WS. Já tentei usar o get, porém ele retorna apenas um List, o que não é aceito no momento que tento realizar o método setARRAYTITULO().

Alguém consegue me ajudar?

Já tiveram esse tipo de problema?

Qualquer ajuda/ideia é bem vinda!

Valeu!

compartilhar
  • Você pode instanciar a classe ARRAYOFSTRUCTTITULO, então você vai adicionar valores no array usando o método getSTRUCTTITULO().add(uma instancia de STRUCTTITULO) , no final você usa o setARRAYTITULO passando essa sua instancia de ARRAYOFSTRUCTTITULO

    Diogo Boegershausen   18 de Oct de 2018
  • Opa! Não tinha pensado nisso. Vou testar aqui e já te digo! Valeu!

    Kanaãm Luz Romero Rodrigues   18 de Oct de 2018
Anexos
  • 1.png
    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 workflow webservice integracao ou faça a sua própria pergunta.