# STEPLIBs for the Natural RPC Server

**URL:** <https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976>\
**Category:** Forum\
**Tags:** Mainframe-Integration, EntireX\
**Created:** [September 28, 2016, 4:22pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976 "2016-09-28T16:22:38Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [September 28, 2016, 4:22pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/1 "2016-09-28T16:22:38Z")

</div>

I was wondering how other sites using EntireX to expose Natural objects via various integration methods (e.g., as a SOAP-based web service for example) handle this scenario.

The Natural RPC Server has a default library it runs in, and we created a library called WS-LIB which only serves to be the home library. However, the exposed objects can be in any number of different application libraries, and our approach has been to add the libraries these modules reside in as STEPLIBs of WS-LIB so the Natural RPC Server can find them.

There is a limitation to this approach as the number of STEPLIBs is limited to 8 or 9. Experience holds that I need some FNAT STEPLIBs anyway for this to work, such as SYSIDL, SYSRPC, SYSLIB and SYSLIBS, so that leaves 4 libraries for application code to be exposed. We have many more than 4 application libraries, so how can we set up the Natural RPC Server so that it will be able to be used to run exposed Natural subprograms regardless of the application library it resides in?

It would be nice if somehow the library name from the IDL/XMM definition was used so the XML RPC server would log on to that library to execute the code. If there is a way to do that, it sounds like the preferable way to go.

Thanks in advance!

-Brian

---

<div class="post-metadata">

**Author:** ![Rolf\_Bahlke](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/rolf_bahlke/32/109_2.png) [@Rolf\_Bahlke](https://techcommunity.softwareag.com/u/Rolf_Bahlke)\
**Post date:** [September 28, 2016, 5:09pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/2 "2016-09-28T17:09:18Z")

</div>

Hi Brian,

I assume you’re talking about the XML/SOAP Listener, because this one calls Natural subprograms.

That should work once you set exx-natural-security=true (the parameter name is a bit misleading…) in the Listener configuration.

See also the documentation of the Natural RPC Server:  
[http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat826mf/rpc/oper.htm#oper\_rpc\_logon2server\_lib](http://techcommunity.softwareag.com/ecosystem/documentation/natural/nat826mf/rpc/oper.htm#oper_rpc_logon2server_lib)

---

<div class="post-metadata">

**Author:** ![Rolf\_Bahlke](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/rolf_bahlke/32/109_2.png) [@Rolf\_Bahlke](https://techcommunity.softwareag.com/u/Rolf_Bahlke)\
**Post date:** [September 28, 2016, 5:11pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/3 "2016-09-28T17:11:22Z")

</div>

Just forgot to say that you can explicitly set the Natural library name in the configuration using exx-natural-library.

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [September 28, 2016, 8:07pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/4 "2016-09-28T20:07:42Z")

</div>

Thanks, Rolf! I will research that setting for exx-natural-security=true and give that a try.

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [September 28, 2016, 8:46pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/5 "2016-09-28T20:46:37Z")

</div>

I found Empower KB article 1702642 which provides more detail on this matter.

I wasn’t sure until I checked that how the parm was set.

> [@](#):
>
> Resolution:
> 
> When generating the Web Service from the IDL in the EntireX Workbench, under “Configure EntireX Service,” make sure the “Use defaults” checkbox is unchecked.
> 
> In the next window, make sure to select both the “exx-natural-library” and the “exx-natural-security” parameters. This is required for the Library LOGON to be done in Natural, even if Natural Security is not in use.
> 
> At runtime, the “exx-natural-security” should be set to false, if Natural Security is not in use.
> 
> See the documentation at:  
> [http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx801/xmlWrapper/xmlWrapper\_writeAppsAdv.htm#Natural\_Logon\_or\_Changing\_the\_Library\_Name](http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx801/xmlWrapper/xmlWrapper_writeAppsAdv.htm#Natural_Logon_or_Changing_the_Library_Name)
> 
> XML/SOAP Listener
> 
> To overwrite the library
> 
> Use the parameter exx-natural-library.
> 
> To force the library to be considered by Natural RPC Servers
> 
> Use the parameter exx-natural-security.

---

<div class="post-metadata">

**Author:** ![sagi\_achituv1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/sagi_achituv1/32/386_2.png) [@sagi\_achituv1](https://techcommunity.softwareag.com/u/sagi_achituv1)\
**Post date:** [September 30, 2016, 1:29pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/6 "2016-09-30T13:29:32Z")

</div>

Hello Sagi,

Thank you very much for looking into the request.

Could you please post this as a reply to this forum topic STEPLIBs for the Natural RPC Server (you can also use the Reply link directly) – this way it will reach Brian Johnson directly and will be available to the whole community

Best regards,  
Tech Community Team

From: Achituv, Sagi  
Sent: Wednesday, September 28, 2016 6:15 PM  
To: TechnologyCommunity  
Subject: RE: Tech Forums \>\> EntireX \>\> STEPLIBs for the Natural RPC Server

Hello Brian,

Here are my 2 cents on this subject:

1. 

```
  Check for the Natural RPC parameter called "logon required" – as I think it might lead you to what you were asking for, but I currently do not remember if it has pre-requisites , mainly in the client application side

```

2. 

```
  Most of the "sys*" libraries that you have mentioned are required when using the Natural RPC Server to perform IDL Extraction or generation, -

```

so we have a dedicated RPC server for this purpose, with all these libraries as steplib , while for all the other servers – we ignore them

Hope that helps

Sagi Achituv

---

<div class="post-metadata">

**Author:** ![Bernhard\_Fricke1](https://avatars.discourse-cdn.com/v4/letter/b/a9a28c/32.png) [@Bernhard\_Fricke1](https://techcommunity.softwareag.com/u/Bernhard_Fricke1)\
**Post date:** [October 5, 2016, 10:47am UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/7 "2016-10-05T10:47:22Z")

</div>

Hi,

1. Natural RPC parameter “logon required” has dependencies to RPC clients: The RPC clients require to set “Natural Logon”. If not set on the RPC client side the RPC request does not work. For XML/SOAP Listener this is done with “exx-natural-security=true”. Other RPC clients (Java Wrapper, Net Wrapper, COBOL Wrapper, etc.) support this feature also. Search for “Natural Logon” or “Natural Security” in the respective wrapper documentation.
2. The SYS libraries SYSRPC, SYSLIB and SYSLIBS are not required anymore as steplib for the Natural IDL extractor if you are using a supported “Natural Version” and supported “EntireX Workbench” except if the Natural RPC Server runs under OS/400.  
Only the library SYSIDL must be allowed to be accessed by the user doing the extraction with the Natural IDL extractor.  
Regards Bernhard

---

<div class="post-metadata">

**Author:** ![Brian\_Johnson1](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/brian_johnson1/32/163_2.png) [@Brian\_Johnson1](https://techcommunity.softwareag.com/u/Brian_Johnson1)\
**Post date:** [October 5, 2016, 6:08pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/8 "2016-10-05T18:08:25Z")

</div>

Thanks to all for your responses. I have found in Designer where to make the appropriate setting. I have a question though about the impact to the already-deployed services. If I change this one and it actually makes a LOGON SRWEB to the library that new service is executed in, does the Natural RPC Server then log back into its original library WS-LIB, or will all services now need to perform a LOGON to their own respective libraries since they won’t be found from library SRWEB?

---

<div class="post-metadata">

**Author:** ![Douglas\_Kelly](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/douglas_kelly/32/102_2.png) [@Douglas\_Kelly](https://techcommunity.softwareag.com/u/Douglas_Kelly)\
**Post date:** [October 6, 2016, 2:28pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/9 "2016-10-06T14:28:57Z")

</div>

Yes, the Natural RPC Server will log back to the default library in the case you describe.

When I’m setting up Natural RPC Server for customers, I often recommend using LOGONRQ=YES, which requires all client applications perform a Natural Security logon. In your case, if you want to migrate to using the separate application libraries, you might set up a new server (with a new server name) with LOGONRQ=YES and make it available to new or modified services.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/techcommunity/original/3X/c/d/cd19967bb605d28a72d77eb83a1cae22f3df2eb8.svg) [@system](https://techcommunity.softwareag.com/u/system)\
**Post date:** [April 2, 2021, 3:37pm UTC](https://techcommunity.softwareag.com/t/steplibs-for-the-natural-rpc-server/190976/10 "2021-04-02T15:37:02Z")

</div>


