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:
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!
Você pode instanciar a classe ARRAYOFSTRUCTTITULO, então você vai adicionar valores no array usando o método
— Diogo Boegershausen 18 de Oct de 2018getSTRUCTTITULO().add(uma instancia de STRUCTTITULO)
, no final você usa o setARRAYTITULO passando essa sua instancia de ARRAYOFSTRUCTTITULOOpa! Não tinha pensado nisso. Vou testar aqui e já te digo! Valeu!
— Kanaãm Luz Romero Rodrigues 18 de Oct de 2018