- Martin Kaltenböck
- PowerBuilder
- Wednesday, 14 June 2017 10:50 AM UTC
Hello,
I'm using Powerbuilder 12.1 Classic Build 6639, Windows 7 64
In my application I do a call to a webservice - function 'rkdb'. (I use the .NET WS engine)
The rkdb function can do certain things depending on the request-parameters given.
All function calls work well, except one that returns NULL.
I used Fiddler and even set up a SoapUI-Project to test the function with the same parameters and I can see that a valid SOAP-Response is returned containing all values expected.
So the problem must be at the PB side.
The returned object consists of a couple of nested objects.
One of the objects is defined as follows:
The object created in PB by the WS-proxy shows like this:
type variables
any ws_Any[]
end variables
I think that this could be the problem, because I found related infos in another thread:
"No any datatype as WS Result (by Chris Pollach)":
https://archive.sap.com/discussions/thread/3904173
There is stated, that powerbuilder WS-Clients can only deal with standard C-types.
Am I right, is this the cause for the problem and how to solve this?
I'm sure I cannot talk to the webservice vendor to change this.
Here's the link to the WSDL-File:
https://finanzonline.bmf.gv.at/fonws/ws/regKasseService.wsdl
Here's the code for calling the webservice:
soapconnection lsc_fon
rkdbservice ln_rkdbservice
rkdbrequest ln_request
rkdbresponse ln_response
belegpruefung ln_belegpruefung
ls_proxy = "rkdbservice"
ls_function = "rkdb"
lsc_fon = create soapconnection
ll_rc = lsc_fon.CreateInstance(ln_rkdbservice, ls_proxy)
try
ln_request = create rkdbrequest
ln_request.tid = as_tid
ln_request.benid = as_benid
ln_request.id = as_session_id
ln_request.erzwinge_asynchron = ab_erzwinge_asynchron
ln_request.erzwinge_asynchronspecified = true
ln_request.art_uebermittlung = 0
ln_belegpruefung = create belegpruefung
ln_belegpruefung.satznr = as_satznr
ln_belegpruefung.kundeninfo = left(as_kundeninfo, 50)
ln_belegpruefung.beleg = as_beleg
ln_request.ws_rkdb = create rkdb
ln_request.ws_rkdb.fastnr = gs_null
ln_request.ws_rkdb.ts_erstellung = f_today_now()
ln_request.ws_rkdb.paket_nr = "1"
ln_request.ws_rkdb.ws_belegpruefung = ln_belegpruefung
ln_response = ln_rkdbservice.rkdb(ln_request)
ln_response = ln_rkdbservice.rkdb(ln_request)
// ln_response is NULL ???
catch ...
Thank you for any help!
Martin
PS: Posted this question some days ago to SAP answers site but go no answer yet. I don't think that the SAP site is the current place for Powerbuilder questions, so I posted the question here again - if I'm wrong, sorry for cross posting.
Find Questions by Tag
Helpful?
If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.