RKL eSolutions Blog Trends and Insights

Solving Web Service Pools and Integrations Issues in Sage X3

If you are running integrations with Sage X3 using REST or SOAP web services, you may come across issues when the web pool is in a stopped state, or is no longer responding due to errors on prior web service calls. There are several ways to check the state of a web service pool and to restart the web service pool using Syracuse REST utilities.

Obtaining the Pool UUID

When consuming web services with Sage X3, you're used to referring to the pool using the SOAP classic pool alias,  which can be seen under Administration > Administration > Web Services > Classic SOAP Pools configuration. For any activities related to the pools as described below, you will need to use the pool UUID (universally unique identifier).

List of SOAP Classic Pools

Obtain UUID by querying the Web Pools

A list of web pools can be retrieved by running a REST query request, as shown below, substituting your Sage X3 URL for "x3instance".

Example of where to substitute Sage X3 URL for "x3instance"
http://x3instance:8124/sdata/syracuse/collaboration/syracuse/soapClassicPools?representation=soapClassicPool.$query

Using "Basic Auth" for the Authorization type, the same way you use X3 web service SOAP, will result in some paging information, along with a list of resources, which are the SOAP pool details. Below is a sample of the resource details.

Sample of SOAP pool resource details

The piece of information you will need for specific activities on the web pool is the UUID for the web pool.

Example of a UUID needed for specific activities

Another item that is useful in the "autoStartDisabled" value. If this has a value of "true", the web service is not currently running.

Example of "autoStartDisabled" value, True means it's not currently running

Obtain Web Pool Details

If the pool UUID is already know, the pool details can be obtained by running a REST details request, as shown below, substituting your Sage X3 URL for "x3instance". Also make sure you substitute you UUID in the single quotes.

Example of where to substitute Sage X3 URL for "x3instance"
http://x3instance:8124/sdata/syracuse/collaboration/syracuse/soapClassicPools('7f487d15-fd90-44a4-941a-a0d75175bf9e')?representation=soapClassicPool.details

 

The results will contain the same information as the query results, for a single pool only.

Web pool results obtained by running a REST details request substituting the Sage X3 URL for "x3instance"

Restarting the Web Pool

By using the above request and results, you can determine the state of your web pool using REST commands. This information could be used to stop and start the pool.

**NOTE—if you run reoccurring tasks for integrations, be aware that stopping and starting the pool will interrupt any transactions in process. This should only be done after hours, if it is determined that the pool is not responding.

Periodic Pool Restart

One way to use these commands would be to do a daily or weekly stop and start of the web pool. This can be done by embedding the REST commands for stop and start in a .net, curl, or other application to issue the commands.

Stop the Pool

Using the UUID for the web pool, the pool can be stopped using the POST request below.

Example of POST request needed to stop the pool
http://x3instance:8124/api1/syracuse/collaboration/syracuse/soapClassicPools('7f487d15-fd90-44a4-941a-a0d75175bf9e')/$service/stop

The response will include messages indicated whether or not the stop was successful. If there are multiple channels, based on the settings under host, there will be a message for each process stopped.

Start the Pool

Using the UUID for the web pool, the pool can be started using the POST request below.

Example of POST request needed to start the pool
http://x3instance:8124/api1/syracuse/collaboration/syracuse/soapClassicPools('7f487d15-fd90-44a4-941a-a0d75175bf9e')/$service/start

The response will include messages indicated whether or not the start was successful. If there are multiple channels, based on the settings under host, there will be a message for each process started.

Response message indicated whether each process was successful

Questions?

Don't hesitate to reach out and ask us any questions you may have, it's what we're here for!

Tags: Sage X3
RKL Team

Written by RKL Team

Since 2001, RKL eSolutions has helped growing companies maximize their technology resources and investment. Over the years, we have helped hundreds of small and medium sized businesses as their strategic business partner. We specialize in the needs of Entertainment, Software & SaaS, Professional Services, Manufacturing, and Non Profit organizations. Our experienced consultants have a passion for making every facet of your business successful and are intent on building a long-term relationship with every client.