Entire X .Net wrapper to be called by Natural client

I have difficulty in getting the RPC call from Natural to work

Environment : z/OS Natural 4.2.4
Entire X broker 7.3.3 on z/OS
RPC server (.Net) on Windows 2000 server

Program extract
CALLNAT ‘FIQSAMP1’ #PARM1

Host response
NAT0082 Invalid command, or :1: :2: does not exist in library.

Win server RPC trace
11:53:31 WORKER(4f18): 10050033 Could not resolve RPC call for SYSTEM/FIQSAMP1

What server dll or stub dll should be generated at Win server side?

You need to generate System.dll that contains the method for FIQSAMP1. Use Visual Studio.Net, select EntireX .Net Wrapper Application. In the wizard, choose to generate a Server (default is client).

If you have generated a dll from your IDL, you probably have a LIBRARY in there other than SYSTEM. Simplest workaround is to change the library name to SYSTEM and regenerate the server sample code.

Otherwise, you need to set the LOGON option in SYSRPC (or wherever you are setting the DFS options) to Y and call USR4018N to set the library if it is different from the library you are executing from.

Still getting errors :cry:
Now that the DLL is correct, the RPC server is still not picking it up.
Must be something to do with the app server.
Any help on the configuration of how to config the RPC server?

Hi,

I’m the developer working with Kennylok on this problem.

Just to check, this is the .NET code generated by the generator. Is this correct?

namespace SoftwareAG.EntireX.NETWrapper.Server.SYSTEM
{
[EntireXVersion(“7.3.2.0”)]
[Library(“SYSTEM”)]
public class System
{
#region Method/Function for LIBRARY ‘SYSTEM’ PROGRAM ‘FIQSAMP1’

[Program("FIQSAMP1")]
public void SAMP(
  [SendAs(IdlType.A, Length=10f, Trim=false)][In, Out] ref string testString1
){
  // Write your own code here
    testString1 = "hello";
}

#endregion
}
}

Why the method name is not the same as the program name?!!