Service Registry 3 2005Q4 릴리스 노트

잘못된 개념을 사용하여 ExtrinsicObject 또는 ExternalLink를 만든 후 오류가 발생함(6318002)

문제 요약: 웹 콘솔에서 ExtrinsicObject를 만들고 ExtrinsicObject 이외의 개념 아래에 있는 개념을 선택하면 생성에 성공한 것처럼 표시되지만 실제로 오류가 발생했습니다. ExternalLink를 만들고 ExternalLink 이외의 개념 아래에 있는 개념을 선택해도 동일한 문제가 발생합니다.

이러한 오류는 서버 로그에 NullPointerException으로 표시됩니다.

개념이 RegistryObject 아래의 다른 하위 개념이면 새 객체를 검색할 때 해당 객체를 찾을 수 없습니다. 개념이 ObjectType 이외의 ClassificationScheme 아래에 있으면 데이터베이스가 손상됩니다. 서버를 다시 시작할 때 런타임 오류가 발생합니다(InvocationTargetException).

객체 유형 개념은 ExtrinsicObject 또는 ExternalLink 개념 내의 하위 개념이어야 하지만 웹 콘솔에서 이 요구 사항을 적용하지 않습니다.

해결 방법: 관리 도구를 사용하여 잘못된 개념을 사용하는 객체를 찾습니다. select 명령을 사용하여 객체를 찾고 rm 명령을 사용하여 객체를 삭제합니다. 이 작업 단계는 다음과 같습니다.

  1. Service Registry 3 2005Q4 관리 설명서To Stop and Restart the Application Server Domain for the Registry에 설명된 것처럼 Service Registry를 다시 시작합니다.

  2. Service Registry 3 2005Q4 관리 설명서Starting the Admin Tool에 설명된 것처럼 레지스트리 관리자 또는 손상된 객체의 소유자로 관리 도구를 시작합니다.

  3. 데이터베이스에서 최상위 위치로 이동합니다.


    admin> cd /
    
  4. select 명령을 사용하여 제거할 객체를 나열합니다. 레지스트리 관리자로 도구를 시작한 경우 다음 명령을 사용합니다(모두 한 줄에 입력).


    admin> select ro.* FROM RegistryObject ro, ClassificationNode cn 
    WHERE ro.objectType = cn.id AND NOT ( cn.path = 
    '/urn:oasis:names:tc:ebxml-regrep:classificationScheme:ObjectType/RegistryObject' 
    or cn.path like 
    '/urn:oasis:names:tc:ebxml-regrep:classificationScheme:ObjectType/RegistryObject/%' )
    

    객체 소유자로 도구를 시작한 경우 다음 명령을 사용합니다(모두 한 줄에 입력).


    admin> select ro.* FROM RegistryObject ro, ClassificationNode cn, 
    AffectedObject ao, AuditableEvent ae WHERE ro.objectType = cn.id AND 
    ae.user_ = $currentUser AND ao.id = ro.id AND ao.eventId = ae.id AND NOT 
    ( cn.path = 
    '/urn:oasis:names:tc:ebxml-regrep:classificationScheme:ObjectType/RegistryObject' 
    or cn.path like 
    '/urn:oasis:names:tc:ebxml-regrep:classificationScheme:ObjectType/RegistryObject/%' )
    
  5. rm 명령을 사용하여 객체를 삭제합니다. 삭제할 각 객체의 URN을 지정합니다.


    admin> rm urn1 urn2 ...
    
  6. select 명령을 다시 실행하여 객체가 더 이상 레지스트리에 없는지 확인합니다.