# On client run gatway script

**URL:** <https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773>\
**Category:** Module Development\
**Created:** [December 5, 2021, 4:37pm UTC](https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773 "2021-12-05T16:37:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![448719222](https://avatars.discourse-cdn.com/v4/letter/4/71e660/32.png) [@448719222](https://forum.inductiveautomation.com/u/448719222)\
**Post date:** [December 5, 2021, 4:37pm UTC](https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773/1 "2021-12-05T16:37:45Z")

</div>

I have developed a script module. This script can only be executed on the gatway because it involves some files on the server. Now I want to call this script on the client. What should I do

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 5, 2021, 5:29pm UTC](https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773/2 "2021-12-05T17:29:54Z")

</div>

You will need to use the RPC (remote procedure call) infrastructure of Ignition. There’s an example in the SDK that shows the basics.

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [December 5, 2021, 5:41pm UTC](https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773/3 "2021-12-05T17:41:48Z")

</div>

In my Orekit module, I stream/cache files between the gateway and clients using web requests.

Gateway:

> <https://github.com/benmusson/ignition-orekit-module/blob/main/gateway/src/main/java/com/github/benmusson/ignition/orekit/gateway/api/v1/GatewayRouteHandler.java>

Client:

> <https://github.com/benmusson/ignition-orekit-module/blob/main/client/src/main/java/com/github/benmusson/ignition/orekit/client/api/v1/OrekitAPIClient.java>

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 5, 2021, 5:50pm UTC](https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773/4 "2021-12-05T17:50:41Z")

</div>

> [@bmusson](#):
>
> between the gateway and clients using web requests

Are you implementing any security? Ignition's RPC infrastructure only works through authenticated channels--you only have to check roles, and only if applicable.

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [December 5, 2021, 6:05pm UTC](https://forum.inductiveautomation.com/t/on-client-run-gatway-script/53773/5 "2021-12-05T18:05:33Z")

</div>

Nothing meaningful at this point. The accessible directories are limited but there’s no user authentication. I chose web requests instead of RPC in order to share the files with non-Ignition clients.
