Skip to main content
Participating Frequently
November 5, 2012
Question

Cannot start multiple sessions in CS6

  • November 5, 2012
  • 4 replies
  • 6540 views

Hi,

I am trying the new multi threads feature from IDS CS6 (contra using multiple instances).

But I seem unable to start several sessions from the same client.

I do have a machine with 4 core processors (even a multi-instances license), so I should be able to start 4 sessions in parallel.

I start a single IDS instance with SOAP on port 12345.

Using SoapUI:

- I make a call to "BeginSession": it returns successfully (for example sessionID 2)

- If I make a second call to "BeginSession", it returns a SOAP fault telling me that the call is already part of a session...

- If I make a third call, it returns successfully (sessionID 3)

- And so on, every second call will fail

- Furthermore, it seems that the failing call triggers the end of the previous session, because I am unable to call EndSession after that. It would explain why every second call will succeed.

- if I call BeginSession, then EndSession, BeginSession, EndSession... it works without problem.

I also tried using two different clients running from two different computers, against the same InDesign Server:

- Call BeginSession from client 1: success

- Call BeginSession from client 2: success

- Call EndSession from client 1: success

- Call EndSession from client 2: success

- If a client tries to open a two sessions in a row (without callind EndSession on the first one), it fails as I described in the first case above.

- If a client tries to close the session opened by the other client, I get a SOAP fault too.

So in conclusion, are we limited to open only one session per client???

Does IDS CS6 retain information on which client opened which session, and then ensure to have a maximum of one session per client?

This is a big problem, as I want a unique controller opening the sessions and running all server script calls... It should definitely need to open several sessions in parallel, else there would be no point in using multi-sessions instead of multi-instances.

Thanks for your help,

Martin

This topic has been closed for replies.

4 replies

Participant
January 15, 2019

For anyone finding this later, after some testing and capturing the packets with wireshark it appears that the client's tcp source port is what the InDesign server uses to identify separate clients and you can only have one InDesign session per client tcp source port used to connect to the server.

Most libraries used for soap web service access will reuse tcp sessions but in this case that causes the indesign server to think it is the same client and gives messages like "This call is already part of a session!" or "This call is not part of a session!" depending on what your doing.

Participant
July 5, 2013

Hi,

I have a related question, I don't think i should start a new thread for it.

I have expanded the C sharp SOAP example to start a few scripts simultaneously. But it appears like it isn't working.

My first change was to start every script from a different thread

                    Parallel.ForEach<Script>(scripts, script =>

                        {

                            Console.WriteLine("Starting script '" + script.ToString() + "' on thread: " + Thread.CurrentThread.ManagedThreadId.ToString());

                            script.Run(proxy);

                        });

This starts all scripts but it seems that they don't get executed at the same time.

I then changed the RunScript in script.cs to RunScriptAsync (proxy.RunScriptAsync(mParams);)

this however doesn't seem to actually execute the scripts.

Can anyone point me in the right direction?

Participant
March 25, 2013

Hi,

I'm not able to use session with ID server.

I use php and SOAP.

I call BeginSession, RunScript and EndSession, but

it seems to me that IDS does not accept any SOAP request until EndSession is executed.

The script runs for about 4 minutes so we want to exec more scripts in parallel.

I try to copy the SOAP xml and send it with telnet, but it is the same.

If we launch IDS on 4 ports (12345, 12346, ...) we can execute 1 script on each port.

Is there a tutorial about sessions with IDS?

Known Participant
November 19, 2012

We can also reproduce what you say.

We opened a support case @ adobe, but have no solution yet

For the moment, the session implementation is useless.

I tried this on Adobe Indesign Server CS6 Win and Mac.

Participating Frequently
November 19, 2012

I also opened a support case two weeks ago and am awaiting an answer there.

Participating Frequently
January 11, 2013

Martin,

I don't think it's a Axis1 related solution; we just finished a test by generating a Java client with Axis2 and it works as expected. The only thing to be done to have everything working is to have the "service" object to be instantiated every time you need to call a "BeginSession" method; the question seems you can only have a BeginSession call inside a "service" object.

But it works with Axis as well.

Best,

Luca


Ok thanks.

Isn't it an expensive operation to instantiate a service each time?