다른 응용 프로그램과 통합 > Windchill ESI 소개 > Windchill ESI와 Oracle Applications 통합 > 문제 해결 > 기타 문제 식별
  
기타 문제 식별
이 섹션에서는 앞의 카테고리에 해당되지 않는 영역과 관련된 일반적인 문제들과 가능한 원인에 대해 설명합니다. 일반적인 문제의 목록이 다음에 나와 있습니다. 링크를 사용하여 해결하려는 문제에 대한 정보로 직접 이동할 수 있습니다. 해결하려는 문제가 목록에 없거나, 제안된 조치를 수행해도 문제가 해결되지 않으면 시스템 관리자에게 문의하십시오.
문서를 작성할 수 없음(Oracle Applications에서 볼 수 없음)
Windchill ESI가 어댑터 시간 초과 메시지를 표시함
Windchill ESI가 Oracle Applications에 하나 이상의 비즈니스 객체를 성공적으로 작성했으나 실패한 것으로 표시됨
Windchill PDMLink가 EMS 대기열에 가입할 수 없음
PostResult에 오류가 표시됨
게시된 객체에 배포 대상이 지정되지 않음
마지막 게시 후 변경 사항이 없음
TIBCO BusinessWorks EMS, Windchill 또는 둘 모두에 연결할 수 없음
ESI 트랜잭션 로그와 EAI 로그를 보면, Windchill ESI로 객체를 게시할 때 오류가 발생하며 게시한 객체 옆에 오류 메시지가 표시됨
마스터 - 하위 속성 충돌에 응답함
TIBCO 어댑터가 ESI 트랜잭션에 대해 시간 초과됨
ESI 응답 메타 정보 파일 오류 메시지가 표시됨
Windows 서버에서 ADB Agent를 시작할 수 없음
엔터프라이즈 트랜잭션 로그에서 게시가 "보류" 상태로 유지됨
수준 올리기 요청을 통해 비즈니스 객체 세트의 수준을 올리면 이러한 각 객체에 대해 RTM 워크플로가 작성됨
비즈니스 객체 하나 이상의 수준을 올릴 때 생성되는 ESI 응답 파일에 해당 ID를 제외하고 수준 올리기 요청에 대한 어떠한 정보도 포함되지 않음
프로세스 아카이브를 시작할 때 Tibco BusinessWorks Designer에서 "Cannot create Transport" 및 "Process Definition Load" 오류를 발생시킴
BusinessWorks를 구성하려면 다음 절차를 따르십시오.
1. 다음 파일을 백업합니다.
<<TibcoHome>>/designer/<<version>>/bin/designer.tra
2. 텍스트 편집기에서 다음 파일을 엽니다.
<<TibcoHome>>/designer/<<version>>/bin/designer.tra
3. 다음 문자열을 검색합니다.
tibco.env.CUSTOM_CP_EXT
4. 해당 문자열을 다음으로 대체합니다.
tibco.env.CUSTOM_CP_EXT %RV_HOME%/lib/tibrvj.jar:%RV_HOME%/lib:%RV_HOME%/lib/64:
* 
경로에 추가 폴더가 있을 수 있습니다. 문자열을 대체할 때 이러한 엔트리를 유지하십시오.
5. 다음 문자열을 검색합니다.
tibco.env.CUSTOM_LIB_PATH
6. 해당 문자열을 다음으로 대체합니다.
tibco.env.CUSTOM_LIB_PATH %RV_HOME%/lib:%RV_HOME%/lib/64:
* 
경로에 추가 폴더가 있을 수 있습니다. 문자열을 대체할 때 이러한 엔트리를 유지하십시오.
7. designer.tra를 저장하고 닫습니다.
8. TIBCO Designer를 열고 프로세스 아카이브를 시작합니다.
문서를 작성할 수 없음(Oracle Applications에서 볼 수 없음)
Oracle Applications API의 한계 때문에 Windchill ESI에서는 Oracle Applications에 문서(첨부)를 게시하는 기능을 지원하지 않습니다.
Windchill ESI에서 어댑터 시간 초과 메시지를 반환함
어댑터 구성이 잘못된 경우
ESITarget이 잘못된 경우
어댑터 인스턴스가 실행되지 않는 경우
Oracle Applications 서버를 사용할 수 없는 경우
어댑터와 Oracle Applications 간에 네트워크 정체가 발생할 경우
* 
이 문제를 해결하는 데 Windchill ESI 관리자의 도움이 필요할 수 있습니다.
Windchill ESI가 Oracle Applications에 하나 이상의 비즈니스 객체를 성공적으로 작성했으나 실패한 것으로 표시됨
어댑터 구성이 잘못된 경우
Windchill ESI가 객체를 성공적으로 게시했으나 Oracle Applications가 다음 로그 테이블 메시지를 반환할 때까지 기다리는 동안 시간이 초과된 경우
* 
이 문제를 해결하는 데 Windchill ESI 관리자의 도움이 필요할 수 있습니다.
Windchill PDMLink가 EMS 대기열에 가입할 수 없음
다음과 같은 경우 이 문제가 발생할 수 있습니다.
Windchill ESI 서비스가 제대로 설치되지 않은 경우
EMS 서버가 기능을 발휘하지 못하는 경우
Windchill 메소드 서버와 EMS 서버 간에 네트워크 오류가 발생한 경우
Windchill 어댑터 EMS 구성이 잘못된 경우
Windchill ESI 등록 정보가 하나 이상의 EMS 대기열 이름, EMS 대기열 사용자 또는 EMS 대기열 암호를 잘못 지정한 경우
* 
이 문제를 해결하는 데 Windchill ESI 관리자의 도움이 필요할 수 있습니다.
PostResult에 오류가 표시됨
다음과 같은 경우 이 문제가 발생할 수 있습니다.
게시 중인 데이터에 데이터 문제가 존재하는 경우
하나 이상의 필수 TIBCO 컴포넌트가 오프라인 상태인 경우
Oracle Applications가 오프라인인 경우
TIBCO Adapter for Oracle Applications가 제대로 구성되지 않은 경우
Windchill ESI Services가 JMS 대기열을 읽거나 기록할 수 없는 경우. 이 문제의 원인은 Windchill PDMLink가 EMS 대기열에 가입할 수 없음 오류와 동일합니다.
Windchill PDMLink에서 데이터베이스 오류가 발생한 경우
Windchill ESI 미들웨어의 프로그래밍 오류로 인해 PostResult RPC 요청의 형식이 잘못된 경우
* 
이 문제를 해결하는 데 Windchill ESI 관리자의 도움이 필요할 수 있습니다.
게시된 객체에 배포 대상이 지정되지 않음
다음과 같은 경우 이 문제가 발생할 수 있습니다.
Windchill ESI 기본 설정인
배포 대상 찾기가
"com.ptc.winchill.esi.tgt.ESIRootInheritTargetFinder"로 설정되어 있으므로 객체가
루트 객체에서 배포 대상 지정을 상속합니다.
객체가 BOM의 컴포넌트이며 상위 어셈블리 또는 BOM으로부터 배포 대상 지정을 상속합니다.
배포 대상을 지정하기 전에 객체 게시를 시도한 경우
모든 배포 대상 지정을 제거한 후 객체 게시를 시도한 경우
마지막 게시 후 변경 사항이 없음
다음과 같은 경우 이 문제가 발생할 수 있습니다.
Windchill ESI 기본 설정인 이터레이션 확인이 "아니요"로 설정되어 있고 게시하는 객체의 이터레이션만 변경된 경우
마지막 게시 이후 데이터에 변경된 내용이 없는 경우
해당 객체와 연관된 모든 배포 대상으로 객체를 이미 게시한 경우
새 배포 대상 지정을 추가한 후 이미 게시된 객체를 게시하려고 시도한 경우
TIBCO BusinessWorks EMS, Windchill 또는 둘 모두에 연결할 수 없음
다음과 같은 경우 이 문제가 발생할 수 있습니다.
EMS 서버가 제대로 구성되지 않은 경우. EMS 서버의 이름을 "localhost"로 지정한 경우, 이 서버는 실행 중인 시스템에서만 인식되며 다른 시스템은 이 서버에 연결할 수 없습니다. EMS 서버 "localhost"에 연결하도록 설정된 응용 프로그램은 동일한 시스템에서 실행 중인 EMS 서버를 찾으려고 시도합니다. 서버를 찾을 수 없는 경우, 오류가 표시됩니다. 시스템 이름을 서버 이름으로 지정하면 다른 시스템이 EMS 서버에 연결할 수 있습니다.
factories.conf 파일에서 QueueConnectionFactory와 연관된 URL 등록 정보를 tcp://<machinename>:7222로 설정합니다.
여기서 <machine name>은 EMS 서버가 실행되고 있는 시스템입니다.
- ESI를 실행하는 위치에 따라 BW Engine, TIBCO Designer 또는 TIBCO Administrator에서 글로벌 변수 ESIJMS\JNDIContextURL을 = tibjmsnaming://<EMS 서버가 실행 중인 시스템 이름>:7222로 설정합니다.
이 EMS 서버가 상주하는 위치는 문제가 되지 않습니다. JMS 서버는 Windchill이나 미들웨어 엔진과 동일하거나 다른 시스템에 위치할 수 있습니다. 위에서 설명한 값이 제대로 설정되어 있고 시스템이 동일한 네트워크에 있다면 Windchill PDMLink 및 미들웨어를 정확한 EMS 서버에 연결할 수 있습니다.
어떤 시스템과 사용자 이름이 EMS 서버와 연결되어 있는지 확인하려면 EMS 관리 도구에서 다음 명령을 입력합니다.
>show connections
이 명령을 실행하면 어떤 시스템에서 어떤 사용자가 연결되어 있는지 목록을 볼 수 있습니다. 자세한 내용은 TIBCO Enterprise for EMS 설명서를 참조하십시오.
ESI 트랜잭션 로그와 EAI 로그를 보면, Windchill ESI로 객체를 게시할 때 오류가 발생하며 게시한 객체 옆에 오류 메시지가 표시됨
게시된 객체 옆에 다음과 같은 오류 메시지가 표시됩니다.
Input Data Invalid
이 오류는 데이터가 어댑터까지 도달하지 못했음을 나타냅니다. 어댑터의 작업을 호출하는 동안 어댑터 스키마 검증에 실패했습니다.
Oracle Applications에서 데이터를 어댑터로 보내기 전에 일부 값은 상호 참조되며(ESIORALookup.properties 파일) 일부 값은 기본값으로 초기화됩니다(ESIORADefault.properties 파일). 이 등록 정보 파일이 제대로 구성되지 않은 경우(예: BOM 사용 값이 비어 있거나 템플릿 ID가 일치하지 않음) 빈 데이터가 어댑터로 전달되고 어댑터 작업에서 위와 같은 예외가 발생합니다. 제대로 채워지지 않은 요소를 알려면 ESI 관리자가 프로세스 엔진 로그에서 요소 이름 및 검증 오류를 자세히 설명하는 예외 메시지를 확인해야 합니다.
마스터 - 하위 속성 충돌에 응답함
마스터 조직 레벨 또는 하위 조직 레벨에서 특정 항목 속성을 제어하도록 Oracle Inventory를 구성할 수 있습니다. ESI에 의해 항목이 게시되고 작업이 속성 제어 설정과 충돌하는 방식으로 항목 속성을 설정하려고 시도하는 경우 Oracle 항목 개방 인터페이스는 오류를 반환합니다. 오류 메시지는 아래와 같은 텍스트가 표시되고 그 뒤에 오류 발생 원인이 되는 속성 목록이 표시됩니다.
이러한 속성 중 하나에서 마스터 - 하위 충돌:
이 메시지는 ESI 게시 작업이 마스터 조직에 의해 제어되는 하위 조직에서 항목 속성을 설정하려 하며 하위 항목의 속성 값이 마스터 항목의 속성 값과 일치하지 않음을 가리킵니다.
이 문제를 해결하려면 충돌을 식별하기 위해 속성 제어 설정을 검토해야 합니다. 하위 항목을 작성하는 데 사용되는 항목 템플릿이 항목 속성을 잘못된 기본값으로 설정했을 수도 있습니다. 속성 제어 구성 및 항목 템플릿에 대한 자세한 내용은 Oracle Inventory User's Guide(Oracle Inventory 사용자 안내서)의 Item Setup and Control(항목 설정 및 제어) 장을 참조하십시오.
TIBCO 어댑터가 ESI 트랜잭션에 대해 시간 초과됨
ERP에 대한 TIBCO 어댑터의 연결이 끊어진 후 TIBCO 어댑터 시작 시간이 초과되면 연결 상태를 확인하고 어댑터를 재시작합니다.
Windchill Enterprise Systems Integration for Oracle Applications를 사용할 경우 10자 한도를 초과하는 CN 번호와 함께 CN을 게시하면 TIBCO 어댑터 "MasterConfiguration"이 중지됩니다.
이 문제를 해결하려면 ESI TIBCO 설치 디렉토리 아래의 다음 두 폴더에서 확장자가 .ldr인 원장(ledger) 파일을 지웁니다.
1. <Install_Home>\tibco\bw\5.13\
2. <Install_Home>\tibco\tra\domain\<DOMAIN_NAME>\application\Oracle_Apps\ledger
* 
원장(ledger) 파일을 지우려면 먼저 모든 어댑터를 중지해야 합니다.
ESI 응답 메타 정보 파일 오류 메시지가 표시됨
새 배포 대상 또는 배포 대상 편집 창에서 마침을 클릭하면 ESI 응답 메타 정보 파일과 관련된 오류 메시지가 표시됨
이 문제는 배포 대상 속성인 ESI 응답 메타 정보 파일 경로에 대해 지정된 값에 다음과 같은 문제가 있을 때 발생할 수 있습니다.
존재하지 않는 파일 경로입니다.
파일의 내용이 기본 스키마(기본 제공, 스키마는 ESIResponseMetaInformation.xsd 파일에서 제공)에 부합하지 않습니다.
파일의 내용이 잘못되었습니다. 예를 들어, 파일의 MapInformation 요소가 존재하지 않는 맵 요소를 참조합니다. 그 밖의 다양한 이유로 파일의 내용이 잘못된 것으로 간주될 수 있습니다.
파일의 맵 요소 한 개 이상과 연관된 ID 속성이 이전과 다른 맵 요소와 함께 이미 사용되고 있습니다. 예를 들어, 사용자가 (작성 중이거나 편집 중인) 배포 대상이 특정 ESI 응답 메타 정보 파일을 가리키게 하고 그 파일의 부품 맵 요소가 다른 글로벌 속성을 수용하도록 수정되었으나 그 ID 속성의 값은 계속 ESIPart이고 다른 배포 대상에서 기본적으로 제공된 ESI 응답 메타 정보 파일을 이미 가리킬 경우, 이러한 문제가 발생할 수 있습니다.
Windows 서버에서 ADB Agent를 시작할 수 없음
다음 오류 메시지가 표시됩니다.
The ordinal 3823 could not be located in dynamic link library LIBEAY32.dll
이 문제를 해결하려면 다음 명령을 실행하십시오.
1. MOVE /Y <Tibco_Home>/adapter/sdk/6.0/bin/libeay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/libeay32_bk.dll
2. MOVE /Y <Tibco_Home>/adapter/sdk/6.0/bin/ssleay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/ssleay32_bk.dll
3. COPY /Y <Tibco_Home>/tibrv/8.4/bin/libeay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/libeay32.dll
4. COPY /Y <Tibco_Home>/tibrv/8.4/bin/ssleay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/ssleay32.dll
엔터프라이즈 트랜잭션 로그에서 게시가 "보류" 상태로 유지됨
다음과 같은 경우 이 문제가 발생할 수 있습니다.
JMS 서버 tcp://<JMSServer>:7222에 연결하지 못했습니다.
JMS 서버에 접근할 수 없거나 호스트 이름에서 정확한 IP 주소를 확인하지 못했기 때문일 수 있습니다. 잘못된 버전의 tibjms.jar 파일 때문에 이 문제가 발생할 수도 있습니다. 이 문제를 해결하려면 Windchill 서버의 tibjms.jar 파일에서 TIBCO 서버의 정확한 JMS 버전을 사용하고 있는지 확인합니다.
1. Windchill 서버에서 명령 창을 엽니다.
2. Windchill 메소드 서버 로그에 나타난 문자열을 정확하게 사용하여 <JMSServer>를 Ping합니다.
3. Ping 요청이 실패할 경우 ping <JMSServer_IP>를 실행합니다.
4. Ping 요청이 성공할 경우 표시된 IP 주소를 사용하거나 <JMSServer_IP> <JMSServer> 엔트리를 %Windir%\System32\drivers\etc\hosts 파일에 추가합니다.
5. Ping 요청이 계속 실패할 경우 네트워크 관리자에게 문의하십시오.
DataResponse 대기열에 연결하지 못했습니다.
이것이 원인인지 확인하기 위해 JMS 서버에 연결하고 DataResponse 대기열이 작성되었는지 그리고 WCESI 사용자에게 DataResponse 대기열에 대한 보내기 권한이 부여되었는지 확인합니다. DataResponse 대기열 이름 앞에 별표(*)가 있을 경우 그 대기열은 임시적이므로 작성해야 합니다. 이 문제는 EAR을 수동으로 배포한 경우 발생할 수 있습니다. 이 문제를 해결하려면 JMS 관리 창에서 다음 명령을 실행합니다.
1. Create queue <DataResponse>
2. Setprop queue <DataResponse> secure
3. Grant queue <DataResponse> <EAIUser> receive
4. Grant queue <DataResponse> <WCESIUser> send
5. Setprop factory QueueConnectionFactory url=tcp://<JMSServer>:7222
6. Commit
Process Archive가 DataResponse 대기열에 연결되지 않았습니다.
JMS 관리 창을 열어 Process Archive가 DataResponse 대기열에 가입했는지 확인합니다. 수동 배포 시 이 단계가 생략될 때가 종종 있으며, 이 경우 오류가 발생합니다. DataResponse 대기열에 가입되지 않은 경우 TIBCO Administrator > Application Management > Application Name > Configuration > Deployment Name > Advanced > ESIJMS/DataResponseQueue로 이동하여 DataResponseQueue의 값을 확인합니다.
한 명의 WCESI 사용자만 EMS 서버에 연결되어 있습니다. EMS Administration Tool > Show connections로 이동하여 확인합니다.
ClientID(BW-ESIMaster_JMSConnection-queue-<Application Name>-Process_Archive)가 있는 ESISYS 연결 수가 구성된 ERP 인스턴스 수와 동일해야 합니다. 그렇지 않다면 프로세스 아카이브를 실행하는 또 다른 인스턴스가 ESI 응답 메시지를 사용하고 있을 가능성이 있습니다. EMS Administration Tool> Show connections로 이동하여 ESISYS 연결 수를 확인합니다.
모두 현재 테스팅 제품군의 TIBCO 또는 Windchill 서버에서 연결된 것인지 그리고 이전의 제품군 또는 외부 시스템에서 연결된 것이 없는지 확인합니다. 그렇지 않다면 프로세스 아카이브를 실행하는 또 다른 인스턴스가 ESI 응답 메시지를 사용하고 있을 가능성이 있습니다.
Windchill 및 Process Archives가 동일한 JMS 대기열에 연결되어 있습니다. EMS Administration Tool > Show queues로 이동하여 확인합니다.
com.ptc.windchill.esi.Result 대기열에 수신자가 하나밖에 없습니다. EMS Administration Tool > Show queues로 이동하여 확인합니다.
대기열에 남아 있는 메시지가 있습니다. EMS Administration Tool > Show queues로 이동하여 확인합니다.
배포 대상을 만들 때 DSN 속성에 대해 지정한 값이 해당 Oracle Applications 인스턴스에 대한 MICU를 실행할 때 지정한 값과 일치하지 않습니다. 그러면 Windchill ESI 서비스가 존재하지 않는 EMS 대기열에 ESI 응답 메시지를 배치하게 되어 ESI 트랜잭션이 보류 상태로 남게 됩니다.
수준 올리기 요청을 통해 비즈니스 객체 세트의 수준을 올리면 이러한 각 객체에 대해 RTM 워크플로가 작성됨
수준 올리기 요청 게시 기본 설정의 값이 아니요이면 이렇게 될 수 있습니다. 수준 올리기 요청의 객체가 단일 RTM 워크플로를 통해 게시되게 하려면 이 기본 설정을 로 설정하십시오.
비즈니스 객체 하나 이상의 수준을 올릴 때 생성되는 ESI 응답 파일에 해당 ID를 제외하고 수준 올리기 요청에 대한 어떠한 정보도 포함되지 않음
이는 정상적인 동작입니다. 별도의 XML 요소에서 ESI 응답을 사용하여 수준 올리기 요청에 대한 다른 속성을 보내려면 ESI 응답 메타 정보 파일을 적절히 구성해야 합니다.