Olá, estou usando PB 12.1 6639 / Win 7 64
Hoje estou enfrentando um problema ao consumir um webservice usando o motor .NET.
As definições correspondentes de WSDL e XSD podem ser encontradas aqui:
https://finanzonline.bmf.gv.at/fonws/ws/regKasseService.wsdl
https://finanzonline.bmf.gv.at/fonws/ws/regKasseWs.xsd
https://finanzonline.bmf.gv.at/fonws/ws/regKasse.xsd
Estou tentando chamar a função rkdb e recebo uma exceção com a mensagem de erro curta 'Erro de validação'.
Para obter informações mais detalhadas, usei o Fiddler para ver o envelope SOAP produzido. Por favor, consulte o arquivo anexado para ver a mensagem SOAP.
A partir disso, posso ver que a mensagem SOAP não contém todas as informações dos parâmetros que estou passando.
Dê uma olhada no código que estou usando para chamar o webservice:
// *** Início do código ***
rkdbrequest l_request
rkdbresponse l_response
registrierung_kasse l_kasse
try l_request = create rkdbrequest
l_request.tid = "ws_account"
l_request.benid = "ws_user1"
l_request.id = "xau390xkie234AAb"
l_request.erzwinge_asynchron = false
l_request.erzwinge_asynchronspecified = true
l_request.art_uebermittlung = 0
l_kasse = create registrierung_kasse
l_kasse.satznr = as_satznr
l_kasse.kundeninfo = "John Doe"
l_kasse.kassenidentifikationsnummer = "1"
l_kasse.anmerkung = "Caja 1"
l_kasse.benutzerschluessel = "xe45...66==" // Chave AES (codificada em Base64)
l_request.ws_rkdb = create rkdb
l_request.ws_rkdb.ts_erstellung = datetime(today(), now())
l_request.ws_rkdb.items[1] = l_kasse
l_response = l_rkdbservice.rkdb(l_request) // Chamada ao WS para rkdb()
catch (soapexception e1)
Messagebox("e1", "Erro durante a execução da função do webservice '" + ls_function + "' (Soapexception: '" + e1.text + "')!")
exit
end try
// *** Fim do código ***
Como você pode ver, todas as informações são passadas em um objeto (l_request), que contém um array de any's (chamado 'items') no membro 'l_request.ws_rkdb'. Atribuo o objeto 'l_kasse' ao primeiro item do array de items. Agora, todas as informações de 'l_kasse' estão faltando na mensagem SOAP.
Em modo de depuração, consigo ver que todos os objetos são criados corretamente e preenchidos com os valores corretos. Também anexei uma imagem dos tipos de webservice importados (nvo's).
Espero sinceramente que alguém possa me ajudar a encontrar o erro! Obrigado antecipadamente
Saudações, Martin
Pedro Pascal
Se unió el 07/03/2018