Skip to Content
1
Former Member
Mar 06, 2017 at 09:56 AM

PB 12.5 Soap Connection, Bad Runtime Function Reference

1006 Views

Dear All Masters,

- My email is thomas_leungwk@yahoo.com

- Using PB12.5 in Windows 7 32 bit platform.

- I develop a simple program consume a web service following the below steps.

http://powerbuilderworld.blogspot.hk/2012/09/calling-web-service-from-powerbuilder.html#.WLwy-jizmUk

I successfully run when it is alone. However I try to rewrite the code and implement it into one production program. I got this error message.

"E3181- Error Number 21

Error text = Bad runtime function reference at line 29 in clicked event of object cb_retrieve of w_nvs009_maintain_case_q01.

Window/Menu/Object = w_nvs009_maintain_case_q01

Error Object/Control = cb_retrieve

Script = clicked."

- A gentleman asked similar question before in here.

https://archive.sap.com/discussions/thread/3546330

However I do not know how to do and how to check. Also how to add in if missing.

- My senior tried to link my successful one into the production program. It also comes out the above error. My code is listed below for reference.

long l_rc

soapconnection conn

oponlinesoapservice lnv_webservice

opcar mycar //web service field

opuser myuser //web service field

strings_color, s_id

lnv_webservice= Create oponlinesoapservice

mycar = create opcar

myuser = Create opuser

myuser.id = sle_id.text

myuser.age = integer(sle_age.text)

myuser.name = sle_name.text

myuser.remark = sle_remark.text

//Sample input parameter

//myuser.id = '2'

//myuser.age = 1

//myuser.name = 'alex'

//myuser.remark = 'test'

conn = create soapconnection

l_rc = conn.createinstance( lnv_webservice, "oponlinesoapservice")

// ERROR IN THE ABOVE LINE!!!

messagebox("Connection ready?", l_rc)//0=ok, 100=invalid proxy name, 101=fail to create proxy

try

mycar = lnv_webservice.buycar(myuser)

s_color=mycar.owner.name

s_id = mycar.licenseplateno

mle_result.text = s_color + " " + s_id

catch (soapexception e)

messagebox("error", e.getmessage())

finally

destroy conn

end try