일반 오류
이 항목에는 BizTalk 맵 편집기로 맵을 만드는 동안 발생할 수 있는 일반적인 오류 메시지가 나와 있습니다.
맵에서 데이터베이스 값 추출기 펑토 이드를 사용하여 날짜 필드를 추출하는 경우 문서가 아웃바운드 문서 정의에 대한 유효성 검사에 실패할 수 있습니다. BizTalk Server 이벤트 로그에서 다음과 유사한 유효성 검사 오류를 기록할 수 있습니다.
이벤트 원본: BizTalk Server
이벤트 범주: 문서 처리
이벤트 ID: 324
설명:
BizTalk Server에 오류가 발생했습니다.
상세 정보:
------------------------------
XML 문서에서 '1995년 10월 12일'을 날짜 데이터 형식으로 구문 분석하는 동안 오류가 발생해 유효성 검사에 실패했습니다.
일시 중단된 큐 ID: "{A1127909-CA36-4359-B672-7CBA8B60BDAF}"
데이터 소스에서 반환된 날짜 형식이 XML에 필요한 형식인 ISO 8601 형식이 아닙니다.
이 문제를 해결하려면 다음 중 하나를 수행합니다.
아웃바운드 문서 정의를 편집하여 날짜 데이터 유형 대신 문자열 데이터 유형을 사용합니다.
데이터베이스 값 추출기 펑토이드의 출력을 ISO 8601 형식으로 변환하는 사용자 지정 MicrosoftVisual Basic Script 펑토이드를 만듭니다.
큰 스키마, 맵 또는 오케스트레이션으로 구성된 하나의 BizTalk 프로젝트를 컴파일할 때 컴파일러에서 다음과 비슷한 오류를 생성할 수 있습니다.
내부 컴파일러 오류(주소 53624FD6에서 0xc0000005): 원인은 'CODEGEN'입니다.
Visual Studio 컴파일러에는 단일 프로젝트의 모든 문자열의 총 크기에 대한 16메가바이트 제한이 있습니다. BizTalk 프로젝트 컴파일 시 컴파일러는 어셈블리를 만들기 위해 스키마, 맵 및 오케스트레이션을 serialize하는데, 이로 인해 모든 문자열의 전체 크기가 늘어나 16MB를 초과할 수 있습니다.
이러한 문제를 해결하려면 스키마 또는 맵을 다른 BizTalk 프로젝트로 분리해야 합니다.
BizTalk 프로젝트에서 filename System.btm 또는 Microsoft.btm으로 맵을 만듭니다. 프로젝트를 빌드하면 BizTalk 맵 편집기에서 다음 중 하나와 비슷한 오류를 생성합니다.
"유형 이름 'SerializableAttribute'가 없습니다…"
"유형 이름 'NonSerializableAttribute'가 없습니다…"
"유형 이름 'SerializableAttributeAttribute'가 없습니다…"
"유형 이름 'XLANs'가 없습니다…"
속성 표의 형식 이름에는 System, Microsoft 등과 같은 예약된 .NET 네임스페이스가 없어야 합니다.
이 문제를 해결하려면 다음 해결 방법 중 하나를 수행하십시오.
맵의 이름을 .NET 예약어가 아닌 문자열로 수정합니다. 기본적으로 BizTalk 프로젝트 시스템은 해당 아티팩트 이름에서 형식 이름을 만듭니다.
예: Map1.btm 이라는 이름으로 새 맵을 만들면 Type Name 속성 값이 Map1로 설정됩니다. 그러나 기존 BizTalk 아티팩트 이름을 변경해도 형식 이름은 변경되지 않습니다.
BizTalk 프로젝트에 있는 아티팩트의 파일 이름이 .NET 예약된 네임스페이스가 아닌지 확인합니다.
BizTalk 프로젝트를 빌드하면 BizTalk 맵 편집기에서 다음 중 하나와 비슷한 오류를 생성합니다.
"파일 <파일 이름> 에는 네임스페이스 및 형식 이름 속성에 대한 중복 값이 있습니다."
"네임스페이스 <이름> 에 '_'에 대한 정의가 이미 포함되어 있습니다."
BizTalk 프로젝트에서 다음을 확인합니다.
여러 아티팩트에 동일한 파일 이름이 있습니다. 예를 들어 Map1.xsd 및Map1.btm입니다.
파일 이름은 특수 문자(~, !, @등)로만 구성됩니다.
이 문제를 해결하려면 다음 해결 방법 중 하나를 수행하십시오.
파일 이름을 바꿉니다. BizTalk 프로젝트에 있는 모든 아티팩트의 파일 이름이 고유한지 확인합니다.
BizTalk 프로젝트에 있는 모든 아티팩트의 유형 이름이 고유한지 확인합니다.
BizTalk 맵 편집기 활동을 사용하여 C# 워크플로 프로젝트를 빌드하면 EnvDTE.dll의 버전 충돌과 관련한 다음 경고가 항상 표시됩니다.
"EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"와 "EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 사이의 충돌을 해결할 수 없습니다. 임의로 "EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"를 선택합니다. 충돌을 해결하고 경고 메시지가 표시되지 않게 하려면 app.config에서 "EnvDTE, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 어셈블리의 버전을 "7.0.3300.0" []에서 "8.0.0.0" [C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\EnvDTE.dll]로 다시 매핑하십시오. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): 경고 MSB3247: 동일한 종속 어셈블리의 다른 버전 간에 충돌이 발견되었습니다.
WorkflowConsoleApplication3 -> C:\Users\btslabs\Desktop\WorkflowConsoleApplication3\bin\Debug\WorkflowConsoleApplication3.exe
맵 편집기 활동이 참조하는 Microsoft.BizTalk.Mapper.OM.dll로 인해 이 경고가 표시됩니다.
경고를 무시합니다.