0

모든 유형의 flatfile_to_xml 오류를 catch하기 위해 오케스트레이션에서 수신 파이프 라인을 호출하려고합니다.BizTalk ExecuteReceivePipeline에서 XmdlDocument 매개 변수를 사용할 수 없습니다.

튜토리얼을 검색 한 후 프로세스가 매우 쉬워 보였습니다. 추가 라이브러리는, (내 경우 내 file.txt를의 내용에) 어떤 비 XML 페이로드를 inglobe하는 유형이 XMLDocument 내 inputMsg을 생성하기위한 표현식을 포함하는 원자 범위를 만든 :

Microsoft.XLANGs.Pipeline.XLANGPipelineManager 
    .ExecuteReceivePipeline(typeof(namespace.pipelineName), msgIN); 

너무 나쁜 I을 Microsoft.XLANGs.BaseType.XLANGMessage 만 받아들이는 동안 ExecuteReceivePipeline은 XmlDocument를 받아 들일 수 없습니다.

Cannot connvert from 'System.Xml.XmlDocument' to 'Microsoft.XLANGs.BaseTypes.XLANGMEssage' 

왜, 그리고 어떻게 내가 달성하기 위해 노력하고있어 달성 할 수 있습니까?

+0

왜 오케스트레이션에서이 작업을 수행해야합니까? 포트에 파이프 라인을 설치하고 실패한 메시지의 라우팅을 설정하십시오. 그런 다음 실패한 메시지를 구독하여 실패한 메시지를 처리하십시오. – Dijkgraaf

+0

두 번째 dir로 보낼 새 파일을 생성하라는 요청을 받았기 때문에. File은 예외 세부 사항, 처리 단계 (범위, 명확해야 함) 및 원본 msg (텍스트 내용)를 포함하여 파일을 보낸 회사가 오류의 원인을 원래의 오류 메시지와 비교하고 보낼 수 있도록합니다 새로운 수정 된 것. 클래식 파이프 라인에서 플랫 파일의 messageType 만 구독하고 저장할 수 있습니다. 예외 세부 사항으로는 할 수 없습니다. 나는 아직도 분리 된 msgs로 끝날 수 있었다. – strongmmc

답변

0

좋아, 지금은 작동하고 왜 잘 모르겠어요. 처음에는 XmlDocument 형식의 msgIN이 유효한 매개 변수로 사용되지 않았습니다.

ExecuteReceivePipeline(typeof(namespace.pipelineName), msgIN) 

이 유효 할 것 : 호출하도록 난 후, XmlDocument 유형의 MSGTYPE를 생성하고 메시지의 형태로 지정. 많은 재건 및 배포 후 내가 XmlDocument로 msgIn으로 전환 ... 그리고 그것은 의도대로 작동 ...

나는 그것을 얻지 못하지만 재건 또는 닫고 다시 열기가 처음이 아니다. VS의 내 맹점을 해결. 시간을내어 답변 해 준 사람들에게 감사드립니다!

0

XmlDocument 유형의 메시지 변수을 사용해야합니다.

변수 (XmlDocument 유형)을 사용하는 것처럼 보입니다.

+0

그렇지 않습니다. ** ** XmlDocument ** 형식의 메시지를 사용하여 ** ** 처음에는 오류가 발생했습니다. XmlDocument 형식의 메시지 부분이 포함 된 메시지를 사용하고 있습니다.이 메시지는 XmlDocument를 비롯하여 모든 유형의 다중 부분을 래핑하는 XLANGMessage입니다. 파이프 라인 오류를 잡으려고하지 않으면 내 오케스트레이션이 작동합니다. 그렇지 않으면 루트 수준에서 _Data 유형의 XmlException이 잘못되었습니다. 라인 1, 위치 1_ – strongmmc