NWW1011 DCOM error 0x02D3 occurred

Hey guys need help again. Previously i tried writing subprograms under SYSWEB library and it i have no problem. However, since i want to create my own library, with my own class, so i tried create new and call the subprogram:

http://localhost/cgi-bin/nwwdcgi.exe/WEB/test2

it gives this error:

Source = /!NATURAL!////natrun/WEB/TEST2///
Description = NAT0723 Interactive I/O not possible in server environment.

fyi, i copy all the subroutines and object data from SYSWEB library. but i didn’t copy the LSYSWEB local data area. i create my own local data area with brand new guid variable.

pls help. thanks.

:shock: Do not copy the programs of SYSWEB to your library especially not the W3* GPs. They have to stay at SYSWEB library - us a Steplib to SYSWEB instead… then try again.
:idea: May use WEB-ONL from SYSWEB to test/debug your subprogram.

thanks eric. i followed wut u said, and i have removed all the subprograms and subroutines of SYSWEB from my own library WEB. I still used the object data W3CONTEXT, but this time i point to SYSWEB.

As for the local data, i used my own guid identification and my own method (subprogram).

after removing the items, i unregister the class and re-register again. as for the steplib, i make the changes at the Natural Configuration Utility under the NATPARM entry, and make reference to SYSWEB,SYSEXT,SYSEXDDM,SYSCOMP.

i tried running the program, the result is still the same. giving same error message. what could be the problem?

thanks again.

-joel

:o You generated the class for your DCOM call, as described at the documentation, with the Web Interface Plugin (otherwise it won’t work :cry: ); and you tested your program, calling from the command line WEB-ONL,(works because you needed for compilation a steplib to SYSWEB, for further infromation see the documentation :idea: ) select your program and run with DCOM (for testing you can also use RPC without having EXX installed :wink: ) and see what happens …

Hey eric, thanks.

i follow ur instructions but unfortunately still gives same error (same result even i tried it with WEB-ONL).

[i]NAT0723 Interactive I/O not possible in server environment.

TEXT:
Interactive I/O not possible in server environment.
EXPL:
An attempt was made to execute an interactive I/O
(I/O to report 0), while Natural is acting as a server.
ACTN:
Check and correct the program. Input data for the Natural INPUT
statement may be supplied via the Natural stack. Any output to
report 0 may be redirected using the MAINPR parameter.[/i]

Please help. Thanks.

:frowning: Now you can try to complie your programs with SYMGEN=ON and run WEB-ONL inside the Natural debugger to see the line the I/O error occures…
:idea: May it’s usefull to unregister your class and run then with WEB-ONL - the Result is may different.
:arrow: Or use run WEB-ONL with “call with option: RPC”…
What’s now the result …

ok…now i try the second option, which is to unregister the class and try using WEB-ONL. i get a different error…

The selected subprogram does not exist in library and steplib.

This part i dont understand. I have already cataloged and stowed the subprogram in my WEB library. But why still this error…

Did you really start WEB-ONL from your WEB library … with steplib to SYSWEB …

hey eric,

i have configure the steplib that point to SYSWEB under the NATPARM parameter in the Natural Configuration Utility. Am I doing it right?

Or is there anyway to configure the steplib?

thanks.

hi eric,

finally i can run rpc from WEB-ONL. this time i include the my library WEB into the steplibs list in Natural Configuration Utility.

however, when i run using dcom it gives me 2 errors:


W3CLEAR INTERNAL ERROR AT W3CLEAR
W3CLEAR ERROR LINE 500
W3CLEAR ERROR NR 737

and another pop-up error:

WEB-ONL 6455 NAT1326 Range specified with FROM/LENGTH clause is outside field.

All these errors occured when i run WEB-ONL using DCOM radio button and also my WEB class unregistered.

However, when I tried registering the class again, it gives the same error as previous…

WEB-ONL 6255 NAT0723 Interactive I/O not possible in server environment.

So basically i’m back to square one… :frowning: :cry:

  1. as long as you refuse to generate your class with the web interface plugin you will get this error …
    :arrow: delete your WEB class and the LWEB class lda and then use the web interface plugin to generate your WEB class.

ok eric, i’m really confused. :shock:

back to my original intention.

what i want to do here is how do i create a new web library with my own defined subprograms without using the SYSWEB library?

i want to run web program with this address:
http://localhost/cgi-bin/nwwdcgi.exe/WEB/test3

instead of
http://localhost/cgi-bin/nwwdcgi.exe/SYSWEB/test3

thanks. :oops:

btw, eric i’m using Natural vers. 5.1.1

thanks.

:idea: Nothing easier than this:

  • Add the steplib SYSWEB to the natparm module you use.
  • Open a new Natural library (e.g. WEB).
  • Add a “readme” text member and save - do this to force Natural to really initializes the library.
  • Activate the Web Interface plug-in.
  • Run: Tools -> Web Interface -> Program Generation.
  • Select “type of generation” -> “stand-alone”.
  • Specify a subprogram name (e.g. TEST3).
  • Click generate -> a new subprogram should now be saved and stowed.
  • Run: Tools -> Web Interface -> Class generation.
  • Click on “Set Default Values”.
  • Click OK and then OK for creating a LDA.
  • Now your class should be generated and stowed.
  • Register your Class.

:arrow: Call your subprogram from the browser as you expected:
http://localhost/cgi-bin/nwwdcgi.exe/WEB/TEST3

:wink: Every time you have build a new subprogram that should be called from the Internet run the “Class Generation” again and just click on OK without any changes -> the class should be updated and stowed.
Now you can run your new subprogram from the browser.
It is not necessary to register your class a second time!

  1. hope this helps

:evil: NAT511 is out of support may its time to upgrade …

:? OK again for 511:

  • Add the steplib SYSWEB to the natparm module you use.
  • Open a new Natural library (e.g. WEB).
  • Add a “readme” text member and save - do this to force Natural to really initializes the library.
  • run WEB-WIZ from commandline.
  • Specify a subprogram name (e.g. TEST3).
  • ENTER -> a new subprogram should now be saved and stowed.
  • open lda editor
    . add for your library WEB a GUID with name “CLSID-WEB
    . add a GUID with name IID-NATWEB
    . save and stow the LDA with name LWEB at your library WEB
    . Attention:
    . Do not copy and rename or move an LDA in order to get new GUIDs for your classes. If an LDA is copied and renamed or moved, the preset GUID is not changed. This may cause major problems.
  • run HTML2GC from commandline
  • Click on “Set Default Values”.
  • Now your class should be generated and stowed.
  • Register your Class.

:arrow: Call your subprogram from the browser as you expected:
http://localhost/cgi-bin/nwwdcgi.exe/WEB/TEST3

:wink: Every time you have build a new subprogram that should be called from the Internet run the “Class Generation” again and just click on OK without any changes -> the class should be updated and stowed.
Now you can run your new subprogram from the browser.
It is not necessary to register your class a second time!

  1. hope this helps

thanks eric! u’ve been very helpful!

cheers! :smiley: