cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Java API not working after upgrading to Integrity 10.9

cjaiswal
7-Bedrock

Java API not working after upgrading to Integrity 10.9

Hi all,

we have just upgraded integrity to 10.9 from 10.6 and surprisingly java API is not working.

I am using same mksapi.jar to connect to integrity which I used it on 10.6, is this problem?

or I am using wrong minor and major version number for upgraded system@? below is sample code which fails and gives error :

    

     Error  :com.mks.api.response.APIConnectionException: Failed to establish a session: Session not authenticated/authorized.


My credentials are correct and using which I can log in through integrity Client GUI.

Code :

 

public void test_9009()

  {

  Session session = null;

  try

  {

  String itemID = "1234";

  IntegrationPoint ip = IntegrationPointFactory.getInstance().createIntegrationPoint("integritytst.myorg.com", 9009, true, 4, 12);

  session = ip.createSession("USERNAME_HERE", "PASSWORD_HERE");

  CmdRunner cmdRunner = session.createCmdRunner();

  Command cmd = new Command(Command.IM, "viewissue");

  cmd.addSelection(itemID);

  //printCommand(cmd);

  Response response = cmdRunner.execute(cmd);

  WorkItemIterator wit = response.getWorkItems();

  while (wit.hasNext())

  {

  System.out.println("****************************WorkItem********************************");

  WorkItem wi = wit.next();

  Iterator fit = wi.getFields();

  while (fit.hasNext())

  {

  Field field = (Field) fit.next();

  System.out.println("\t" + field.getName() + " --------->  " + field.getValueAsString() + "   DataType: " + field.getDataType());

  }

  }

  session.release();

  } catch (APIException | IOException e)

  {

  e.printStackTrace();

  System.err.println("Error  :" + e.getMessage());

  }

  finally

  {

  try

  {

  if (session != null)

  {

  System.err.println("Closing session............................");

  session.release();

  }

  } catch (IOException | APIException e)

  {

  System.err.println("unable to close session");

  }

  }

  }

3 REPLIES 3

Hello Chinmay Jaiswal‌,

i am not sure if it is just missing in your example but i think you are missing some steps while establishing your connection to integrity. I think that is why you are getting the Error "Session not authenticated/authorized."

After you have created your cmdRunner you either need to set a default password / user or you need to give that info again for each command.

I usually give a default user and password and then connect to integrity.

You could try the following to establish a connection (your lines 12 - 14):

IntegrationPointFactory ipf = IntegrationPointFactory.getInstance();

IntegrationPoint ip = ipf.createIntegrationPoint("integritytst.myorg.com", 9009, true, 4, 12);

mySession = ip.createSession(userName, password);

cmdRunner = mySession.createCmdRunner();

cmdRunner.setDefaultUsername(userName);

cmdRunner.setDefaultPassword(password);

Command ConnectUser = new Command(Command.IM, "connect");

cmdRunner.execute(ConnectUser);

I'va used that code with 10.7 and 10.8.

Regards,

Dominik

Hi Dominik Thierjung,

Code I mentioned is working well with 10.6 version of server but not with upgraded one(10.9).

Though I have tried with the solution you mentioned and still I am facing same issue.

Thanks,

Hi Chinmay Jaiswal‌,

i've just noticed you try to set up a secure connection. Whithout that your code works for me (tested with 10.7 api-jar but version set to 4.12).

      IntegrationPoint ip = IntegrationPointFactory.getInstance().createIntegrationPoint("integritytst.myorg.com", 9009, true, 4, 12); 

Maybe you haven't set up your (new) certificate for your IDE yet?

Regards,

Dominik

Announcements


Top Tags