PowerBuilder 12.6 Classic
Using .Net Engine
Web Service Proxy
RelayHealth WSDL
Hello All,
I'm not having much success calling the methods of this WSDL and always get the SoapException "Method SingleSignIn.ViewPatientProfile can not be reflected." and am suspecting it may have something to do with the enumerated datatypes in the WSDL (GenderEnum and IdentifierType) - see attached source code that was generated by running the WSDL through wsdl.exe - but not sure so maybe someone has an idea and can help.
Here's what I've been trying:
I have no issues creating the SoapConnection and setting security on the header. Their WSDL provides a method on the body to set security on the header (edited for brevity):
TRY
lsc_SoapConn = CREATE SoapConnection
ls_end = "https://api.demo.relayhealth.ca/SSI/SingleSignIn.svc"
ll_result = lsc_SoapConn.CreateInstance(proxy_obj,"ssisinglesignin",ls_end)
lstr_header.encodedmustunderstand = "0"
lstr_header.encodedmustunderstand12 = "0"
lstr_header.encodedrelay = "0"
lstr_header.applicationname = ls_ApplicationName
lstr_header.applicationpassword = ls_ApplicationPassword
lstr_header.partnername = ls_PartnerName
// this returns TRUE
lb_return = proxy_obj.setrelayhealthheadervalue(lstr_header)
// and if I then do a get, it does confirm the structure gets loaded:
lstr_header = proxy_obj.getrelayhealthheadervalue()
// but now, on any method I try and call
ls_ProviderID = 'Nurse'
ls_result = proxy_obj.viewinbox(ls_ProviderID)
// SoapException always gets raised with the error: Method SingleSignIn.ViewPatientProfile can not be reflected.
CATCH (SoapException e1)
PopulateError(100, 'Cannot invoke service ' + e1.GetMessage())
DESTROY lsc_SoapConn
RETURN ''
No matter which method other than setrelayhealthheadervalue and getrelayhealthheadervalue results in the same error that references the method ViewPatientProfile. (Not sure why it is complaining always about this method)
So if it does have something to do with the enumerated datatypes in the WSDL, what are my options? Or if not the enumerated dataypes, what else am I missing? I've read posts about creating the assembly in VB.NET or CS.NET and then making it a COM Callable Wrapper, but have no idea where to start with that or if it's the right way to go. Would like to keep it all in PB.
I've also attached pics of the properties and methods.
If you need further information, please advise and I can provide additional detail if necessary.
Also, does anyone know how to get the Inner Exception? That may tell me on which datatype or namespace it is having an issue with.
Thanks for your help.
Greg