on 02-10-2016 4:36 AM
Hi All,
In previous PB Classic versions you could create a method in a PB web service to have an array of type structure as argument and pass it by Reference. Then in the method you could populate the array mapping the retrieved data from a datastore to the structure, something like this:
arg_structure = lds.Object.Data
Since arg_structure [ ] is an array passed by reference, the caller could process the result set.
This no longer work because PB 12.5 or PB 12.6 does not allow structure as argument.
We cannot use PB .NET because the application is very large (6 millions of lines of code or more) and also has an EAServer target and a lot of non compatible stuff.
So the question is how to pass structures to a web service created in PB Classic12.6.
Thank you for the help.
Paulo
Hi Paulo;
Yes, you can still pass in or return a result set in a PB Classic Web Service. The key for the web service world is to pass the Array structure housed within a simple standard parent structure.
Regards ... Chris
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Chris,
Yes, you were right.
My PB 12.6 installation had a bunch of missing files in the Prog Files (x86)\Sybase\PowerBuilder 12.6\DotNet\bin\ folder. After copying from another PC all folders under the folder ...\DotNet\ I could deploy the web service to IIS.
The service has only one method that does a simple retrieve and it is a proof of concept for the use of a structure passed by Reference to the method as an array of structures and populated with the result set from a local datastore.
However, once copy/paste the wsdl URL to the browser, I got the following error:
"Parser Error Message:
Could not load file or assembly 'Sybase.PowerBuilder.Core, Version=12.6.0.0, Culture=neutral, PublicKeyToken=598c7456a83d557a' or one of its dependencies. The system cannot find the file specified. "
I did the same web service using PB 12.5 and the wsdl was displayed fine with the browser.
Inspecting the folder ...\PowerBuilder 12.6\DotNET\bin\ I found two files with this name:
Sybase.PowerBuilder.Core.dll and Sybase.PowerBuilder.Core.xml
So it does not make sense the error for me since the dll is there.
Have you heard about this before? Do you have an idea how to fix it?
Thank you in advance.
Regards,
Paulo
Hi Chris,
Only today I could look at this issue again.
Talking about log, I found in the log that the Tech Area that prepared the equipment for me while ago faced problems during the installation of .NET components and PB 12.6 did not finish properly. The same with the subsequent EBFs installation.
This also explains why (I guess) I had so many PB 12.6 IDE crashes during development work since the first days of PB 12.6 use.
So I uninstall and re install PB 12.6 and all available EBFs (last is EBF 24672, build 4058) and it seems everything is fine.
I really appreciate the time you spent in the process to find the solution.
Best regards,
Paulo
User | Count |
---|---|
84 | |
10 | |
9 | |
8 | |
6 | |
6 | |
6 | |
5 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.