Hi,
I'm using PB 12.0, and can't get a call to a web service to work. We have been using this web service for several years, but want to see about consuming a newer version of this service. The working version involved generating the webservice proxy using the EasySoap engine, and we pointed it at a .asmx file. This generated the webservice proxy object and data structures used as parameters and return values for the webservice methods.
We had no trouble populating the structures and passing them to the webservice methods, and as well getting the data back in structures and consuming it as needed.
Now, the vendor is offering a newer version of the webservice, and I'm guessing its based on WCF, because it utilizes a .svc file. I wasn't able to get the EasySoap engine to understand it, so I switched to using the .NET SOAP engine, which appears to have worked. The deployment of this project creates the webservice proxy object and proxy objects for the methods and data structures...but no PB structures themselves.
This is where my confusion sets in. Do I utilize these proxy objects like I would a structure? I assumed so. I can pass simple proxy objects (ones with scalar values or arrays of strings) to/from the simpler methods on this webservice. An example of this...
However, I start to run into issues with more complex cases where one proxy object contains arrays of other proxy objects. But I'm not sure that is the cause of the issue, because even simple variable assignment statements fail with "null object reference" error, such as this code, where ipx_NexusInfo was declared as a instance variable px_NexusInfo ipx_NexusInfo. It fails on the first line inside the IF statement.
In some cases, I was able to eliminate the problem by treating the proxy object like a normal nonvisual object and instantiating it first with a CREATE statement, but I read in at least one souce online that the create statement shouldn't be necessary (and it wasn't with my simpler situations). The only other difference I can think of between my simple scenario and more complex scenario is that the more complex scenario is part of a multithreading architecture and uses shared object instances...i.e. SharedObjectRegister() and SharedObjectGet().
Am I doing something wrong with these proxy objects, or is PB12.0 or the .NET SOAP engine not compatible with WCF webservices, or are shared objects interfering somehow? I'll attach the WSDL file in case it provides any clues.