PB Classic > .NET Webservice calling external SOAP webservice using WS Proxy. Object reference not set to an instance of an object
Hi,
I hope someone can help with this one.
This problem only happens on a production server not on my development machine. The production has a C:\ but uses another drive for websites, may need other permissions set if PB is looking for access to a folder I don't know about.
I have a Powerbuilder 12.1 project which deploys a .NET Webservice.
This application connects to completely separate SOAP webservice.
On the production server I get the following error :
System.Web.Services.Protocols.SoapException: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object. at c__storageservices.getsharedaccesssignatureurl(PBString accesstoken, PBString containername, PBString filename) in c:\Development\xxxxxxxxxxxxxxxxxxxx\pb2cstempout\xxxxxxxxxxxxxxxxxxxx\storageservices.cs:line 0 at c__n_mares.alantest() in c:\Development\xxxxxxxxxxxxxxxxxxxx\pb2cstempout\xxxxxxxxxxxxxxxxxxxx\n_mares.alantest(S):line 14 at cns_xxxxxxxxxxxxxxxxxxxx.PBWS__n_mares.alantest() in c:\Development\xxxxxxxxxxxxxxxxxxxx\pb2cstempout\xxxxxxxxxxxxxxxxxxxx\xxxxxxxxxxxxxxxxxxxx.asmx.cs:line 3954 --- End of inner exception stack trace --- at Sybase.PowerBuilder.Web.WebServices.PBWebService.HandleException(Exception ex) at cns_xxxxxxxxxxxxxxxxxxxx.PBWS__n_mares.alantest() in c:\Development\xxxxxxxxxxxxxxxxxxxx\pb2cstempout\xxxxxxxxxxxxxxxxxxxx\xxxxxxxxxxxxxxxxxxxx.asmx.cs:line 3964 |
xxxxxxxxxxxxxxxxxxxx = project name folder
c:\Development\xxxxxxxxxxxxxxxxxxxx\pb2cstempout is a folder present on my machine but does not exist on the production server.
In fact the access to C: would be limited on production with everything running from another drive.
Could there be a permissions issue that I can update?
Call to Webservice
Long ll_conn_result, ll_log
String ls_access_token, ls_filename, ls_url
storageservices l_storageservices // Declare proxy
SoapConnection conn // Define SoapConnection - if it gives out that soapconnection is an invalid type something went wrong with the pbx import
conn = create SoapConnection // Instantiated connection
ll_log = conn.SetSoapLogFile ("C:\mySoapLog.log") // Set trace file to record soap interchange data,
// if string is "", disables the feature
ls_access_token = 'test123'
ls_filename = 'test.pdf'
ll_conn_result = Conn.CreateInstance(l_storageservices,"storageservices")
ls_url = l_storageservices.getsharedaccesssignatureurl(ls_access_token, 'mareforms', ls_filename)
// Destroy Conn
destroy conn
return ls_url
|
Any help would be appreciated, even if its a suggestion of where I can find a better error or steps to get to the bottom of it as I am at a loss.
Thanks,
Alan
Thanks for the reply.
.NET
Both machines have the exact same version which is 4.6.x (minor matches up too)
SDK for that O/S
What do you mean for this part. They are different O/S. Windows 7 vs 2012 R2
Which SDK?
App Pool
Everything looks the same here, its PBApp pool and using .Net 2.x
You have installed the App into the same folder structure as DEV
Can you explain more what you mean here. The web folder on the production server is under a different folder and drive than my dev machine.
Proper folder rights have been granted to your app
The main web folder has the correct permissions set, but should there be other folders that I need to setup permissions on.
Alan
Sounds like your set-u pretty good on the production server side then. Yes, the SDK matches your O/S and thus would be different. Otherwise, all the other pieces should be the same.
The other important thing that I should have mentioned before is that the PB runtime& build should be exactly the same as well (including any EBF's).
Chris