문제점: bottom-up 및 meet-in-middle 시나리오에서 CICS®, IMS 및 Batch 런타임에 대한 System z용 IBM® Rational Developer 엔터프라이즈 서비스 도구 컴파일 XML 변환은 리턴 코드 280 - 303과 함께 종료될 수 있습니다. 변환기에서 리턴하는 Language Environment® 메시지는 이전 내용이거나 시스템 로그 또는 콘솔에 "예외 메시지 가져오기 실패" 텍스트를 표시합니다.
솔루션: System z용 Rational Developer의 COBOL 컴파일 XML 변환에서는 갱신된 메시지 번호 IGZ0280S - IGZ0298S 및 새 메시지 번호 IGZ0299S - IGZ0303S를 발행할 수 있는 오류 점검 기능이 개선되었습니다. APAR PK65058용 PTF를 적용하십시오.
CICS용 웹 서비스 시나리오에서는 추가 맵핑 레벨 및 런타임 레벨(2.2)을 지원합니다. 이 레벨에서 생성된 아티팩트를 사용하려면 APAR PK69738이 적용된 CICS TS 3.2가 필요합니다.
테이블 6의 "PL/I에서 파생된 XML 유형" 주제에서 PL/I에서 XML 유형에는 오류가 있으므로 무시해야 합니다.
문제점: 엔터프라이즈 서비스 도구 마법사는 필요한 복사본이 없으면 중단됩니다. 이는 COBOL 임포터 환경 설정 페이지에서 오류 메시지 언어가 en_US 이외의 다른 언어로 설정되는 경우 발생합니다.
솔루션:
을 선택하여 오류 메시지 언어를 변경합니다.문제점: meet-in-middle개발 시나리오에서는 소스 파일 가져오기 마법사에서 파일 시스템으로 가져오기 옵션을 지원하지 않습니다.
해결 방법: 필요한 모든 파일을 일반 프로젝트로 복사한 후 소스 파일 가져오기 마법사에서 작업공간을 선택하여 가져오기를 수행하십시오.
IGZ0282S XML 문서에 변환기에서 인식하는 요소 이름이 없으므로 PGMNAME 프로그램에서는 XML에서 데이터 구조로의 변환을 완료할 수 없습니다.
솔루션: 변환기에서 생성한 WSDL/XSD는 항상 변환기와 연결되어야 합니다.
COBOL 유형 | COBOL UsageValue + COBOL ModelType 특성 | 해당 XSD 유형 |
---|---|---|
packed-decimal, comp-3 -> packedDecimal | packedDecimal | 소수점이 지정된 경우:<xsd:simpleType> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="xx.x"/> <xsd:maxInclusive value="yy.y"/> </xsd:restriction> </xsd:simpleType> 소수점이 지정되지 않은 경우:
<xsd:simpleType> <xsd:restriction base="xsd:short"> <xsd:minInclusive value="xxx"/> <xsd:maxInclusive value="yyy"/> </xsd:restriction> </xsd:simpleType> |
문제점: CICS용 웹 서비스 단일 서비스 프로젝트에서 새 서비스 구현 작성(top-down) 시나리오 또는 기존 서비스 인터페이스로 맵핑(meet-in-middle) 시나리오를 실행하는 중에 스키마를 포함, 가져오기 또는 재정의하는 WSDL 파일(원래는 원격 위치에서 가져옴)을 사용하면 오류가 발생하여 실패하게 됩니다.
해결 방법: 필요한 모든 파일을 워크스테이션이나 작업공간의 일반 프로젝트로 복사하고 RMB -> 가져오기 -> 소스 파일을 사용하여 "CICS용 웹 서비스 프로젝트"로 로컬 WSDL 파일을 가져온 다음 top-down 시나리오를 실행하십시오.
워크스테이션 COBOL 컴파일러가 컴파일 및 런타임 시 모두 XML PARSE 문을 지원하지만, 단일 서비스 마법사가 생성한 COBOL 프로그램은 z/OS® 환경에서만 실행되도록 디자인되었습니다.
IGZ0291S 최대 XML 요소 중첩 깊이를 초과했으므로 프로그램 program-name에서 XML에서 데이터 구조로의 변환을 완료할 수 없습니다. 문자 컨텐츠가 character-content인 요소 element-name에서 오류가 발생했습니다.
해결 방법: XML에서 언어 구조로의 변환기는 특정 XML 요소의 중첩 깊이를 처리할 수 없습니다. 원래 COBOL 구조 레벨 이상의 중첩 레벨에 허용치가 있지만 이를 초과할 수 있습니다. 스키마에 없는 요소가 요청 XML 문서에 있으면 중첩 레벨이 너무 깊은 경우 요소로 인해 이 상황이 발생할 수 있습니다.
문제점: 이름이 지정되지 않은 그룹 및 기본 항목은 상위 항목이 기본 항목과 함께 필터 아웃되므로 데이터 구조 선택 페이지나 맵핑 세션 편집기에서 선택하는 데 사용할 수 없습니다.
해결 방법: COBOL 데이터 구조를 편집하여 변환해야 하는 그룹 및/또는 기본 데이터 항목에 이름을 지정하십시오. COBOL 그룹에 이름을 지정하면 FILLER 이외의 기본 항목을 선택할 수 있게 됩니다.
문제점: JCL에서 TEST 옵션을 컴파일 옵션으로 지정하면 드라이버 및 변환기 프로그램에서 생성된 PROCESS문의 OPT 컴파일러 옵션이 TEST 옵션과 충돌합니다.
해결 방법: 생성된 XML 변환 프로그램을 디버그하려면, 웹 서비스 마법사의 "생성 옵션" 페이지에서 "컴파일러 관련 환경 설정 지정" 그룹의 "최적화" 선택란을 선택 취소하십시오.
문제점: COBOL 데이터 항목이 ODO 항목이거나 이 항목을 포함하고 있으면, 맵핑 일치 조치를 시도하기 전에 수동으로 ODO 오브젝트를 맵핑하지 않는 경우 호환 가능한 XML 구조로 "맵핑 일치" 조치를 수행할 수 없습니다.
해결 방법: 맵핑 일치 조치를 시도하기 전에 맵핑 규칙에 따라 수동으로 ODO 오브젝트를 맵핑하십시오. (XML 문서에서, COBOL ODO 오브젝트 항목에 맵핑된 요소는 해당 COBOL ODO 주제에 맵핑된 XML 요소 앞에 나타나야 합니다.)
문제점: 폴더 및 파일 이름 항목은 Windows®용 Eclipse에서 대소문자가 구분됩니다.
해결 방법: 폴더 및 파일 이름을 일관성 있게 입력했는지 확인하십시오. 예를 들어, Workbench에서 폴더 이름이 MyFolder로 표시되면, 폴더 이름을 입력하는 입력 필드에 MyFolder를 입력해야 합니다. myfolder를 입력할 경우, 올바르지 않거나 존재하지 않는 폴더 이름이라고 표시될 수 있습니다.
문제점: XML 변환기 또는 드라이브에 널(null)이 아닌 올바르지 않은 포인터를 제공하면 무한 루프가 발생합니다.
해결 방법: XML 변환기는 호출자가 전달한 널(null) 포인터를 발견하고 보고합니다. 널(null)이 아닌 올바르지 않은 포인터의 경우, XML 변환기에 보호 예외(SOC4)가 발생하여 리턴될 가능성이 큽니다.
엔터프라이즈 서비스 도구 단일 서버 프로젝트에서 DBCS 데이터 항목을 지원하려면 요청 및 응답 XML 문서가 UTF-16 또는 UTF-8로 인코드되어야 합니다. 웹 서비스의 대상 런타임이 CICS용 SOAP인 경우 UTF-8 또는 UTF-16로 된 XML을 XML 변환기 드라이버로 교환하도록 기능을 구성하십시오. 기본적으로 CICS용 웹 서비스 런타임은 UTF-8로 된 XML을 클라이언트와 교환하며 XML 변환기 드라이버는 XML을 UTF-16 CICS와 교환합니다. UNICODE가 필요한 경우, 현재 XML 변환기에 가장 효과적으로 사용할 수 있는 것은 UTF-16입니다. 두 런타임에 대해, UNICODE 및 DBCS 호스트 코드 페이지 간의 변환을 지원하는 변환 이미지와 함께 UNICODE의 z/OS 지원을 구성해야 하는 경우가 있습니다.
문제점: 생성 -> XML 파일 메뉴 항목이 XSD 스키마의 제한사항을 준수하지 않습니다. 엔터프라이즈 서비스 도구로 작성된 XSD에서 XML 파일 생성 조치를 사용하면 올바르지 않은 XML 파일이 생성될 수 있습니다.
해결 방법: 태그 컨텐츠가 XSD 스키마에 지정된 제한사항을 준수하도록 생성된 XML 파일을 편집하십시오.
문제점: 옵션 XML 파일에 올바르지 않은 항목(Container.xml, PlatformProperties.xml, ServicesSpecification.xml)이 포함되면 일괄처리 프로세서의 실행 중에 널 포인터 예외가 발생할 수 있습니다.
해결 방법: 옵션 XML 파일에서 형식에 따라 항목을 올바르게 지정하십시오.
COBOL 입력 파일의 위치는 importDirectory 속성에서 드라이브 스펙으로 시작되는 절대 경로로 지정될 수 있습니다(예: C:\mypath\test).
디렉토리: | 설명: |
---|---|
C:\workspace\account_details | 기본 프로젝트 |
C:\workspace\account_details\cobol_src | 가져올 COBOL 소스 파일이 있는 서브디렉토리 |
C:\workspace\account_details\xsebatch_config | xsebatch에 대한 XML 구성 파일이 있는 서브디렉토리 |
<InputOutputMessage importFile="../cobol_src/DFH0ACTD.cbl"></InputOutputMessage>
또는 xsebatch가 호출되는 디렉토리와 같은 디렉토리에 COBOL 소스 파일이 있을 수 있습니다.
COBOL 데이터 이름에서는 대소문자를 구분하지 않지만 스펙 XML 파일에서는 대소문자를 정확하게 구분하여 지정해야 합니다. 예를 들어, COBOL 데이터 소스에서 데이터 이름을 MY-Data라고 하는 경우, 서비스 스펙 xml에서는 nativeTypeName 속성을 nativeTypeid="MY-Data"로 설정해야 합니다. 대소문자를 정확하게 구분하여 지정하지 않으면 데이터 이름을 찾을 수 없으며, 기본적으로 첫 번째 사용 가능한 레벨 01 데이터 이름이 사용됩니다.
숫자 상수 LOW-VALUE(S) 및 HIGH-VALUE(S)는 단일 서비스 마법사에서 사용하는 COBOL 데이터 구조에 있을 수 있지만, 단일 서비스 마법사에서 시맨틱 의미가 무시되어 엔터프라이즈 서비스 도구 단일 서비스 마법사가 생성한 아티팩트로 전달되지 않습니다.
문제점: 엔터프라이즈 서비스 도구 단일 서비스 프로젝트 이름에 GB18030 코드 페이지의 문자를 사용하면 프로젝트의 파일에서 엔터프라이즈 서비스 도구 단일 서비스 마법사를 실행할 때 오류가 발생합니다.
해결 방법: 엔터프라이즈 서비스 도구 단일 서비스 프로젝트의 이름을 지정하는 경우 GB18030 문자를 사용하지 마십시오.
문제점: 엔터프라이즈 서비스 도구 단일 서비스 마법사를 실행한 후 엔터프라이즈 서비스 도구 단일 서비스 프로젝트 폴더에 임시 파일(예: ~DF45B.tmp)이 남아 있는 경우도 있습니다.
해결 방법: 엔터프라이즈 서비스 도구 단일 서비스 마법사를 실행한 후 엔터프라이즈 서비스 도구 단일 서비스 프로젝트에서 비슷한 이름의 파일이 표시되면 해당 파일을 안전하게 삭제할 수 있습니다.
문제점: 이전 맵핑 파일의 이주 프로세스에서는 참조된 맵핑 소스 파일이 해당 맵핑 파일과 동일한 폴더에 있어야 합니다. 이 요구사항이 충족되지 않으면 다음 오류 메시지가 표시되고 맵핑 이주 도구가 실패합니다. "자원 [파일 이름].맵핑이 로컬이 아닙니다".
해결 방법: 엔터프라이즈 서비스 도구 단일 서비스 마법사를 실행한 후 작업공간에서 비슷한 이름의 프로젝트가 표시되면 해당 프로젝트를 안전하게 삭제할 수 있습니다.
문제점: 이전 맵핑 파일의 이주 프로세스에서는 참조된 맵핑 소스 파일이 해당 맵핑 파일과 동일한 폴더에 있어야 합니다. 이 요구사항이 충족되지 않으면 다음 오류 메시지가 표시되고 맵핑 이주 도구가 실패합니다. "자원 [파일 이름].맵핑이 로컬이 아닙니다".
해결 방법: 참조된 소스 파일을 이주되는 맵핑 파일과 동일한 폴더로 이동하십시오.
문제점: 웹 서비스 마법사 페이지에서 대상 폴더(Converter 폴더, WSDL 또는 WSBIND 폴더)의 원격 위치로 찾아보기를 수행하면 연결 이름이 길 경우(예: ctfmvs08.rtp.raleigh.ibm.com) 시간이 오래 걸리거나 Workbench가 잠길 수 있습니다.
해결 방법: 연결 이름을 ctfmvs08과 같은 짧은 이름으로 바꾸십시오.
문제점: 해석 및 컴파일 XML 변환의 기본 생성으로 생성된 XML 스키마에 있는 웹 서비스 메시지 루트 요소 이름이 일치하지 않습니다. 아래의 해결 방법 섹션에 설명된 대로 컴파일 XML 변환의 생성 기본값을 해석 변환과 일치하도록 변경해야 합니다. 이렇게 하면 WSDL 파일을 다시 공개하거나 웹 서비스 클라이언트의 코드를 변경하지 않고 나중에 필요에 따라 변환 유형을 해석에서 컴파일로 변경할 수 있습니다.
해결 방법: 컴파일 XML 변환의 아티팩트를 생성할 때, 마법사를 사용하여 해석 XML 변환과 일치하도록 루트 요소 이름을 변경할 수 있습니다. 이 새 옵션 "루트 요소 이름"은 생성 옵션 페이지에 있는 WSDL 및 XSD 옵션 탭의 요청 및 응답 XML 스키마 특성 그룹에 있습니다.
예를 들어, A-B-C라는 COBOL 그룹에서는 해석 변환 아티팩트의 메시지 루트 요소 이름이 "a_b_c"가 됩니다. 기본 컴파일 변환 아티팩트의 루트 요소 이름은 "ABC"입니다. 이전에 설명한 것과 같이 해석 변환에 대해 생성된 WSDL와 일치하도록 마법사에서 "ABC"를 "a_b_c"로 변경할 수 있습니다.
문제점: DBCS 문자를 z/OS에서 파티션된 데이터 세트 구성원의 이름에 사용할 수 없습니다.
해결 방법: XML 변환기 파일의 이름을 지정할 때 DBCS 문자를 생략하십시오. 또한 마법사에서 제안된 기본 파일 이름에 DBCS 문자가 포함되지 않았는지 확인하십시오.