Перейти к публикации

JAVA SOA Classification


lexx174

Рекомендованные сообщения

Братья и сестры, нужна помощь с SOA для работы с ICO

 

Мне нужно получить ICO объект от Workspace объекта, ну и далее прочитать свойства атрибутов класса этого ICO

Обнаружилось что стандартные Core Java API методы не работают, в частности

 

TCComponentICO icos[] = item.getClassificationObjects();

 

метод возвращает null, посему решено было обратиться к SOA.

В примерах на GTAC итд большинство кода использует классы из пакета .services.strong.*, но это обычно применяется не для плагинов а отдельных клиентских приложений для рабыты с TC,

стандартный набор плагинов на клиенте не включает эти библиотеки, имеющиеся библиотеки TcSoaClassificationRac/Type итд реализуют те же методы что и в пакете .strong, но используют в качестве параметров в функциях TCComponent, но не ModelObject, WokspaceObject итд.

 

Что получилось пока сделать:

 

import com.teamcenter.schemas.classification._2007_01.classification.ClassificationObject;
import com.teamcenter.schemas.classification._2007_01.classification.GetClassificationObjectsResponse;
import com.teamcenter.schemas.soa._2006_03.exceptions.ServiceException;

import com.teamcenter.services.rac.core.DataManagementService;
import com.teamcenter.services.rac.classification.ClassificationService;
import com.teamcenter.services.rac.classification._2007_01.Classification.FindClassificationObjectsResponse;


.....................


 

TCSession session;

TCComponentItem item;

ClassificationService clsService = ClassificationService.getService(session);

FindClassificationObjectsResponse ico_response = clsService.findClassificationObjects(new TCComponent[] {item} );
                    
if ( ico_response.data.sizeOfPartialErrors() > 0)
    throw new ServiceException( "ClassificationService.findClassificationObjects returned a partial Error.");
                 
 if(ico_response.icos.size() > 0)
 {
              TCComponent ico_obj = (TCComponent) ico_response.icos.entrySet().toArray()[0];
 }

 

Вот при получении ico_object ругается на ClassCast Exception - TCComponent не принимает, класс ClassificationObject тоже не принимает.

 

Кто-нибудь делал плагин TC с использованием SOA для работы с классификацией?
               

 

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах


доброго дня,
много раз юзал и через SOA и через RAC, все работает.
TCComponentICO icos[] = item.getClassificationObjects(); - должно работать.
может item у вас не тот, или ревизия нужна.
даж не знаю что еще предложить, все правильно вродеб.
 

может так надо:
TCComponent[] ico_obj = (TCComponent) ico_response.icos.get(item);

на C# SOA у меня так:
 

        FindClassificationObjectsResponse resp2 = cl_service.FindClassificationObjects(new WSOBJ[] { (WSOBJ)rev });

             ModelObject[] icos = (ModelObject[])resp2.Icos[(object)rev];

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, koner сказал:

доброго дня,
много раз юзал и через SOA и через RAC, все работает.
TCComponentICO icos[] = item.getClassificationObjects(); - должно работать.
может item у вас не тот, или ревизия нужна.
даж не знаю что еще предложить, все правильно вродеб.
 

может так надо:
TCComponent[] ico_obj = (TCComponent) ico_response.icos.get(item);

на C# SOA у меня так:
 

        FindClassificationObjectsResponse resp2 = cl_service.FindClassificationObjects(new WSOBJ[] { (WSOBJ)rev });

             ModelObject[] icos = (ModelObject[])resp2.Icos[(object)rev];

Я разобрался с проблемой. Оказалось банальной чертовщиной - видимо лицензий то у пользователя не было(совсем вылетело из головы про лицензии,политика именованных лицензий с месячным резервированием), сегодня видимо месяц прошел, пользователь лицензию схватил, и методы стандартные сработали.

 

Но я вопрос с JAVA SOA не снимаю. Интересуют рабочие варианты SOA методов, но работающие с TCComponent классами

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, lexx174 сказал:

но это обычно применяется не для плагинов

ты заблуждаешься! используй смело.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Krusty сказал:

ты заблуждаешься! используй смело.

я не спорю, можно брать их, но надо иметь ввиду что в стандартной установки клиента .strong библиотек нет. они отдельно лежат в soa_client.zip

Ссылка на сообщение
Поделиться на других сайтах

использовал SOA в RAC на JAVA c TCComponent.
Правда не с классификатором а для создания кастомизированных айтемов.

работает нормуль.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...