2011-02-16 4 views
0

오케스트레이션,지도 및 스키마라는 세 가지 프로젝트로 나뉘어 진 BizTalk 솔루션이 있습니다. 몇 가지 맵 중 일부는 오케스트레이션 프로젝트에서 구현해야하는데, 그 이유는 여러 입력 스키마가 필요했기 때문이며 BizTalk 매퍼만으로도 그렇게 할 수있는 쉬운 방법은 없었습니다. 일단 내가 작동하게되면, 그것들을 내 Maps 프로젝트로 옮겼습니다.예기치 않은 식별자 : 'ÿþ'

오류 예기치 않은 식별자 : 나는 그 프로젝트를 빌드 할 때, 나는 이동 된지도의 각각에 대해 다음과 같은 오류 (모든지도에 같은 자리)를 얻을 'y 번째'(행 2 열 2)

예기치 않은 토큰 오류 : '<'(행 2, 열 4)

지도의 아무 곳에 나 값을 찾을 수 없습니다. 필자는 다른 형식으로지도를 저장하고, 새로운 문서에 복사하여 붙여 넣기를 시도하고, 줄 2 (문서가 만들어 질 때 자동으로 생성 된 주석)를 제거하고지도를 오케스트레이션 프로젝트로 다시 이동했습니다. 완전히 처음부터지도를 다시 만들었습니다.

이전에이 문제를 알고있는 사람이 있습니까?

감사합니다. 스테파니

+0

문제가 해결 되었습니까? – oleschri

답변

0

BizTalk에 대해 잘 모릅니다. 조금도.

그러나

I는 다음과 같습니다 일부 파일이 있음을 추론 위의 오류에서 :

  • 그것은 빈 줄 (최대 약간의 공백)로 시작합니다.
  • 그러면 2 행의 첫 문자로 공백이 생깁니다.
  • 그런 다음 UTF-16 인코딩 된 파일에 사용 된 Unicode Byte Order Marker (BOM) 인 바이트 0xFF와 0xFE가 있습니다.
  • 그런 다음 '<'이 있으며 이는 XML의 시작을 의미합니다.

BOM의 의도는 UTF-16 인코딩 파일의 처음 2 바이트입니다.

따라서 파일이 UTF-16 인코딩 XML 파일 인 것처럼 보입니다. 그러나 파일의 시작 부분에 공백이 일부 추가되어 있습니다.

파일 형식이 일 때이되어야하는지, 공백이 도입 된 곳이 어디인지, 어디에서 수정해야하는지에 대해서는 알지 못합니다. 그러나 아마도이 분석이 도움이 될 것입니다.

+0

아니요, 빈 줄이 없으며 공백이 없어야합니다. 적어도 보이는 것은 없습니다. – Stephanie

1

알아 두셨 듯이 BizTalk 매퍼에서 직접 여러 입력 또는 다중 출력으로 맵을 만드는 쉬운 방법은 없습니다. 올바른 방법은 실제로 BizTalk 오케스트레이션에서이를 수행하는 것입니다.

나중에 생성 된지도를 이동하지 않아도되는 한 가지 방법은지도 프로젝트에서 빈 오케스트레이션을 만드는 것입니다. 이 오케스트레이션은 더 이상 필요하지 않을 때 폐기 될 수 있습니다. 당신이 한 프로젝트에서 다른 프로젝트로지도를 이동해야하는 경우

그러나, 다음과 같은 점에주의하십시오 :

  • 가져온 스키마 위치
  • .인터넷 네임 스페이스

당신은지도를 만들 때 가져온 스키마 위치

, 입력 및 출력 스키마의 위치가 생성 .btm 파일에 기록됩니다. 그러나이 위치는 가져온 스키마의 위치를 ​​기준으로 맵의 위치에 따라 두 가지 형식을 취합니다.

맵이 참조 된 어셈블리에서 선언 된 스키마를 사용하는 경우 위치는 생성되는 .net 유형의 완전한 이름과 비슷합니다. 오케스트레이션 프로젝트에서지도를 생성했지만 스키마 및지도 프로젝트의 스키마를 참조하는 경우에는 분명합니다.

지도가 동일한 프로젝트/어셈블리에서 선언 된 스키마를 사용하면 해당 위치가 상대 경로 이름으로 기록됩니다.

한 BizTalk 프로젝트에서 다른 BizTalk 프로젝트로 맵을 이동할 때 스키마 위치를 선언하는 올바른 방법을 복원해야합니다. 텍스트 편집기에서 .btm 파일을 열고이 같은 상대 경로에 대한 완전한 이름을 변경 :

".\imported_schema.xsd" 

닷넷 네임 스페이스

Additionnaly, 당신은 하나 개의 프로젝트에서지도를 이동 한 경우 다른 사람에게 .Net 네임 스페이스를 업데이트하려고 할 수 있습니다. 생성시 .NET 네임 스페이스는 맵과 연관되어 있으며 생성 된 프로젝트의 이름과 일치합니다.

Visual Studio 솔루션 탐색기의 .btmp 파일 속성에서이 네임 스페이스를 변경할 수 있습니다 . 이렇게하면 동일한 프로젝트의 모든 이슈에 대해 일관된 이름을 지정할 수 있습니다.

+0

네임 스페이스와 경로가 모두 정확합니다. 그 시점에 도달하기 전에 오류가 발생하고 있습니다. 원본은 항상 Line 2, Column 2/4입니다. 변경된 경우 원본이 없습니다. – Stephanie

+0

따라서 BTM 파일의 내용을 실수로 변경하여 BizTalk에서 사용할 수 없게 만들 수도 있습니다.아니면 원래 생성 된 프로젝트에 다시 넣을 때 똑같은 파일이 작동한다고 말하는 것입니까? –

0

marnix와 마찬가지로 'ÿþ'에 대한 나의 첫 번째 응답은 Unicode입니다. 파일이 어떻게 든 다른 형식으로 저장되었습니다. 어쩌면 당신은 당신의 파일의 차이를 발견 할 수 비주얼 스튜디오

File > Open > File ... > 
Select your map file > Open With ... (the small dropdown on the Open button) > 
Binary Editor > OK 

에서

:

은 당신의 작업 및 비 작업 맵 파일에서 다음을 수행하십시오.

또 다른 시도는 지금이 도시되어 어떤 인코딩을 참조 그런

...(as above)... > Open With ... > 
XML Editor > OK 

File > Advanced Save Options 

와 비주얼 스튜디오에지도 파일을 열 수있을 것이다. UTF-16에서 UTF-8에 이르기까지 작동하지 않는 맵 파일의 인코딩을 변경하고 BizTalk의 빌드 엔진을 행복하게 만들기 위해 다시 저장하면됩니다.