My team is developing a wrapper for a REST service on top of an existing SOAP-based web service. We donโt know the internal SOAP services, we just have access to the WSDL file. Our REST service shell will only display one to one.
I know that he does not really adhere to the REST philosophy, although please let me call him REST services. This REST service will be deployed to Tomcat, and many clients will access it at the same time.
The current implementation is that for each client we will create a proxy object (using the SOAP WSDL proxy class). This proxy object will be used to invoke the SOAP APIs. SOAP requires binding authentication data to proxy objects, so we store these objects for each client in memory at runtime, making the first REST call to establish a session.
The stored object is retrieved at run time using the SessionID. Now the problem is that these proxy objects occupy large chunks of memory, and only a few REST clients are supported. (With a default of 64 MB, only 19 REST clients can be started). This is a problem now that we want to change our approach and ask for your suggestions.
Please let me know if there is any better solution. We do not want the database to save objects.
source share