Code Comments
Programming Forum and web based access to our favorite programming groups.Pete Dashwood wrote: > "Charles Hottel" <chottel@earthlink.net> wrote in message > news:6iM4i.12447$Ut6.3969@newsread1.news.pas.earthlink.net... > > <snip> > Charles, I recall Thane writing the same thing, sometime back, about learning OO from Java. Exactly which OO COBOL books are you referring to ? > > <snip>> > If you have a COBOL compiler on your home system, that supports OO, I woul d > urge you to try the code. (We will have a MicroFocus version any time now, > as well as the original Fujitsu NetCOBOL version which will work with ANY > version of Fujitsu COBOL, right back to version 3.) Well you might have an M/F version soon - perhaps ? :-). I gotta problem. I have your WSDL-reference as one literal - so no problem there, just that I'm curious why it has a ?(question mark) instead a period.) before 'WSDL'. Independently I've used the highlighted WSDL-Reference in Google abd with and without 'WSDL' I get your main AVS Web Service Page or your your WSDL file layout. So the literal is complete. Problem seems to be with initializing SOAP; having referenced the SOAP toolkit I tried both the methods "mssoapinit" and "mssoapinit2" - the first gives a more verbose lists of errors - but essentially I don't think it's finding SOAP :- set not-finished to TRUE invoke MSSOAP "new" returning objSoapClient move length of wsdl-reference to ls-length invoke objSOAPClient "mssoapinit" using WSDL-reference The length above was just checking the actual size of the literal. I didn't want to get into all this SOAP SDK or M/F detail, but from viewing M/F demos I get the impression I have got to REGISTER SOAP and tell the application where it is on my disk. Any pointers ? As I'm using N/E V3.1 and you obviously were looking at M/F books before - see if the book 'Distributed Computing' can put me on right track :- http://supportline.microfocus.com/d...p1/nx31indx.htm Here's an extract from one of the M/F Demos, (which of course is not on-line) :- ---------------------------------------------------------------------------- --- HOW TO RUN THIS DEMO ==================== Load the project OBJECTS.APP, compile the client, and compile and link the server. Either: o Edit the registry file for the server so that the server directory is correct. Register the server by right-clicking on the .reg file and selecting "Register". Or: o Edit OBJECTSERVERTRIGGER.CBL so that the CommandLine contains the correct path to the application. Then rebuild the server and run it from the command line: objectserver /register You can also unregister the server using the command line: objectserver /unregister Running the client will start the server (if it is not already running). The client will pass the server a variety of object references and other data types using the method "PassObject". For each method call, the server will display the type and value(s) contained by the objects it receives. The objects passed to the server include character arrays, variants, SafeArrays and OLE objects. After each method call, the client will wait for a key press, so that you can check the server has received the data correctly. You can animate the demo in two ways: 1) Animate the client by clicking on the "Step" button. The server will not animate as part of this session. 2) Animate the server by right-clicking on "objectserver.exe" and selecting "Animate". The server will start animating in the trigger program. Select "run" so that the server becomes available to OLE clients. You may then run the client by executing "run objectclient" from within a Net Express command line. You should set a breakpoint within the method to enable stepping through the server code. As the server is linked as a character application, output is sent to a separate console window. WHAT TO DO IF SOMETHING GOES WRONG ================================== 1. Make sure that you have correctly registered the server - in the registry file, directory names should be separated with '\' (double back-slashes). Incorrect server registration is the most common error. 2. Make sure that both objectclient.cbl and objectserver.cbl have been compiled with the directive ooctrl(+p). This allows the run-time to access parameter information. 3. Check that the server has been linked as "Shared" and "Dynamic" as this allows the server to be run without COBOL environment variables. 4. Check that the trigger program is linked within the server program, and is the first part of the server to execute (either by being first in the .obj list or by specifying it as the entry point name for the EXE). 5. Check that all methods called have the correct parameters and return types according to the documentation. ------------------------------------------------------------------------ They compose this with a Wizard but this is the Objectserver.REG file :- REGEDIT4 [HKEY_CLASSES_ROOT\objectserver] @="COBOL objects demo server" [HKEY_CLASSES_ROOT\objectserver\Clsid] @="{E51CF674-C021-11D2-9637-00A0C906773E}" [HKEY_CLASSES_ROOT\CLSID\{E51CF674-C021-11D2-9637-00A0C906773E}] @="COBOL objects demo server" [HKEY_CLASSES_ROOT\CLSID\{E51CF674-C021-11D2-9637-00A0C906773E}] "AppID"="{E51CF674-C021-11D2-9637-00A0C906773E}" [HKEY_CLASSES_ROOT\CLSID\{E51CF674-C021-11D2-9637-00A0C906773E}\ProgID] @="cobol.demo.objectserver" [HKEY_CLASSES_ROOT\CLSID\{E51CF674-C021-11D2-9637-00A0C906773E}\LocalServer3 2] @=" C:\\netexpress\\base\\demo\\oledemos\\ob jects\\debug\\objectserver.exe" [HKEY_CLASSES_ROOT\CLSID\{E51CF674-C021-11D2-9637-00A0C906773E}\InprocServer 32] @="" Where the line above starts with 'netexpress' - my direcotry hierarchy actually is :- C:\\program files\\merant\\netexpress etc..... ---------------------------------------------------------------------------- ---- I would have thought if we get the correct link with the WSDL-Reference, then the program probably works as sweet as a nut. You know, there's nothing wrong with OO or COBOL - while important, it's all this extraneous crap, minute detail, permutations etc., that you have to get your head around for GUIs and Webbing - and it is not a quick 5-minute exercise to absorb this stuff. That's why I decided to call it quits with programming - I'm still enjoying and watching the grass grow, but bugger ! It's raining again and the grass needs cutting. Meanwhile we have a N. American Robin (same size as an English Thrush), which has nested in the arm of one of our downpipes. Be fascinating to see if it stays the course and has babes. Jimmy
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.