ExpenseReportSubmission
ExpenseReportSubmission 샘플은 Microsoft Excel과 같은 풍부한 클라이언트에서 BizTalk Server 오케스트레이션에 문서를 제출하는 방법을 보여 줍니다.
다양한 기능을 갖춘 클라이언트에서는 데이터 유효성 검사, 임시 계산 등의 다양한 작업을 수행할 수 있습니다. 이는 백 엔드 서버와의 상호 작용을 최소화하는 데 도움이 되므로 대역폭이 낮은 연결만 사용할 수 있는 경우에 유용할 수 있습니다.
필수 구성 요소
개발 환경이 구성되고 BizTalk Server 웹 서비스에서 작동하도록 설정되어 있는지 확인해야 합니다. 자세한 내용은 웹 서비스 사용을 참조하세요.
이 샘플의 용도
이 샘플에서는 다음 단계 시퀀스를 사용하여 비용 보고서를 Excel에서 직접 BizTalk Server 제출하는 방법을 보여줍니다.
사용자는 Excel 스프레드시트에 제공된 수동 샘플 단계를 수행합니다.
스프레드시트의 매크로 코드는 스프레드시트 데이터를 XML(Extensible Markup Language) 형식으로 변환하고 HTTP 연결을 사용하여 BizTalk Server XML 메시지를 제출합니다.
BizTalk Server 실행 중인 컴퓨터는 XML 경비 보고서 메시지를 검색하고 제공된 스키마를 사용하여 형식의 유효성을 검사한 다음 다른 폴더에 삭제합니다.
실제로는 이 샘플의 범위를 벗어나서 ERP(전사적 자원 관리) 시스템 등의 또 다른 응용 프로그램이 추가 처리를 위해 스프레드시트 파일을 검색합니다.
이 샘플이 있는 위치
< 샘플 경로>\AdaptersUsage\ExpenseReportSubmission\
다음 표는 이 샘플의 파일을 보여 주고 각각의 용도에 대해 설명합니다.
파일 | Description |
---|---|
Cleanup.bat | 어셈블리를 배포 취소 및 GAC(전역 어셈블리 캐시)에서 제거하고, 송신 및 수신 포트를 제거하고, 필요한 경우 Microsoft IIS(인터넷 정보 서비스) 가상 디렉터리를 제거합니다. |
ExpenseReport.15.3.xls | 경비 보고서 레이아웃, 관련 매크로 및 매크로를 호출할 단추가 포함된 Excel 스프레드시트 |
MessageExample.xml | XML 경비 보고서 형식의 예 |
Setup.bat | 이 샘플을 빌드하고 초기화합니다. |
\BTSExpenseDemo 폴더: AssemblyInfo.cs, BTSExpenseDemo.btproj, BTSExpenseDemo.sln |
이 샘플에 대한 프로젝트, 솔루션 및 관련 파일을 제공합니다. |
\BTSExpenseDemo 폴더: BTSExpenseDemoBinding.xml |
포트 바인딩 등의 자동화된 설정에 사용됩니다. |
\BTSExpenseDemo 폴더: BTSExpenseOrchestration.odx |
이 샘플에 대한 BizTalk Server 오케스트레이션을 제공합니다. |
\BTSExpenseDemo 폴더: SchemaExpenseReport.xsd |
XML 경비 보고서 형식에 대한 스키마를 제공합니다. |
이 샘플을 빌드 및 초기화하려면 다음을 수행하십시오.
명령 창에서 다음 폴더로 이동합니다.
< 샘플 경로>\AdaptersUsage\ExpenseReportSubmission
다음 작업을 수행하는 Setup.bat 파일을 실행합니다.
이 샘플에 대한 Microsoft Visual Studio 프로젝트를 컴파일하고 결과 어셈블리를 배포합니다.
BizTalk Server 송신 및 수신 포트를 만들고 바인딩합니다.
참고
포트를 만들고 바인딩할 경우 이 샘플에 다음 경고가 표시됩니다.
Warning: Receive handler not specified for receive location "BTSExpenseReceiveLocation"; updating with first receive handler with matching transport type.
Warning: Host not specified for orchestration "Microsoft.Samples.BizTalk.BTSExpenseDemo.BTSOrchestration"; updating with first available host
.이러한 경고는 무시해도 됩니다. (사용자 설치에서 이름 지정에 차이가 있을 수 있는 경우 이를 수용하기 위해 호스트 이름과 수신 핸들러가 바인딩 파일에서 생략되었습니다.)
수신 위치를 사용하도록 설정하고 송신 포트를 시작합니다.
IIS를 구성합니다.
BizTalk Server 오케스트레이션을 바인딩하고 시작합니다.
HTTP 주소를 Excel 스프레드시트에서 예상하는 위치로 설정합니다.
참고
BizTalk ISAPI 필터에 대한 자세한 내용은 HTTP 수신 위치에 대해 IIS를 구성하는 방법을 참조하세요.
참고
이 샘플을 실행하기 전에 BizTalk Server가 빌드 및 초기화 프로세스 동안 오류를 보고하지 않았는지 확인해야 합니다.
참고
Setup.bat 파일을 실행하지 않고 이 샘플에서 프로젝트를 열고 빌드하려는 경우 먼저 .NET Framework Strong Name Utility(sn.exe)를 사용하여 강력한 이름 키 쌍을 만들어야 합니다. 이 키 쌍을 사용하여 결과 어셈블리에 서명을 합니다.
참고
Setup.bat가 변경한 내용을 실행 취소하려면 Cleanup.bat를 실행합니다. Setup.bat를 두 번째로 실행하기 전에 Cleanup.bat를 실행해야 합니다.
setup.bat 파일은 이 샘플에 대한 가상 디렉터리가 기본 웹 사이트와 연결된 IIS 응용 프로그램 풀에서 실행되도록 구성합니다. BizTalk 격리 호스트 사용자 및 IIS_WPG 사용자 그룹의 사용자 컨텍스트에서 실행되도록 이 샘플에 대한 가상 디렉터리를 구성하려면 새 IIS 애플리케이션 풀에서 실행되도록 가상 디렉터리를 구성해야 합니다. 다음 단계를 완료하여 가상 디렉터리가 새 IIS 응용 프로그램 풀에서 실행되도록 구성합니다.
참고
다른 SDK 샘플에 사용할 새 응용 프로그램 풀을 이미 만든 경우에는 아래의 마지막 글머리 기호 항목을 진행해도 됩니다.
시작을 클릭하고 프로그램을 가리킨 다음 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
IIS(인터넷 정보 서비스) 관리자에서 애플리케이션 풀 폴더로 이동합니다.
애플리케이션 풀 폴더를 마우스 오른쪽 단추로 클릭하고 새로 만들기, 애플리케이션 풀...을 클릭합니다.
애플리케이션 풀 ID의 이름(예: BizTalkSDKSamples)을 입력하고 새 애플리케이션 풀에 기본 설정 사용 옵션이 선택되어 있는지 확인하고 확인을 클릭하여 새 애플리케이션 풀을 만듭니다.
새 애플리케이션 풀을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
속성 대화 상자의 ID 탭을 클릭하고 이 애플리케이션 풀이 실행되는 ID를 BizTalk 격리 호스트 사용자 사용자 그룹의 구성원인 사용자로 변경합니다. 또한 이 사용자는 로컬 IIS_WPG 사용자 그룹의 구성원이어야 합니다.
이 SDK 샘플에 대한 가상 디렉터리가 새 응용 프로그램 풀에서 실행되도록 구성합니다. 애플리케이션 풀: 설정은 가상 디렉터리 속성 대화 상자의 가상 디렉터리 탭에서 사용할 수 있습니다. 이 샘플에 대해 만든 가상 디렉터리가 ExpenseReportSubmission입니다.
IIS에 HTTPReceive.dll에 대한 웹 서비스 확장을 추가합니다.
IIS(인터넷 정보 서비스) 관리자에서 웹 서비스 확장 폴더로 이동합니다.
웹 서비스 확장 폴더를 마우스 오른쪽 단추로 클릭하고 새 웹 서비스 확장 추가를 선택하여 새 웹 서비스 확장 대화 상자를 표시합니다.
확장 이름에 ExpenseReportSubmission을 입력합니다.
추가를 클릭하여 파일 추가 대화 상자를 표시합니다.
찾아보기를 클릭하여 열기 대화 상자를 표시하고 \HttpReceive\BTSHTTPReceive.dll BizTalk Server 설치 폴더>로 이동<한 다음 열기를 클릭한 다음 확인을 클릭합니다.
확장 상태 허용으로 설정 옵션을 사용하도록 설정하고 확인을 클릭합니다.
이 샘플 실행
다음 절차에 따라 ExpenseReportSubmission 샘플을 실행합니다.
참고
Microsoft Excel의 향상된 보안 기능을 사용하는 경우 스프레드시트의 매크로가 비활성화될 수 있습니다. 신뢰할 수 있는 소스에서 서명되지 않은 매크로를 실행하는 방법에 대해 Excel에서 제공되는 지침을 따르십시오.
이 샘플을 실행하려면
이 샘플에 포함된 Excel 파일 ExpenseReport.15.3.xls를 엽니다.
필요에 따라 형식을 변경하지 않고 스프레드시트의 샘플 데이터를 변경합니다.
스프레드시트에서 시작을 클릭하여 로컬 계산을 수행합니다.
단추의 텍스트가 시작 에서 제출으로 변경 됩니다.
스프레드시트에서 제출을 클릭합니다.
전송된 메시지의 텍스트, 노란색 배경이 있는 표 위의 결과(셀 C7), 아래쪽과 오른쪽의 실제 반환 코드 및 텍스트 설명(셀 G23)을 확인합니다.
전송이 실패하면 다시 시도합니다. 또한 참고 섹션의 문제 해결 표를 참조하십시오.
의견
이와 같은 시나리오는 현장 영업팀이 .NET Framework를 지원하지 않는 이전 버전의 Microsoft Windows를 사용하고 있지만 이후 버전의 Windows로 업그레이드할 수 없는 경우 등에 발생할 수 있습니다.
이 샘플에서 보여 주는 필수 기능은 다음과 같습니다.
다양한 기능을 갖춘 클라이언트(.NET 기반 아님)로부터의 전송
Microsoft Office 통합
HTTP 수신 연결
간단한 오케스트레이션
File adapter(파일 어댑터)
다음 표에서는 몇 가지 가능한 전송 오류와 해결 방법을 보여 줍니다.
HTTP 오류 코드 | 가능한 작업 |
---|---|
401 권한 없음 | 가상 디렉터리에 대한 익명 액세스를 설정합니다. |
503 서비스를 사용할 수 없음, 400 및 500 범위의 대부분의 기타 HTTP 코드 | 호스트가 실행되는지 확인하고 서비스가 배포되어 올바른 포트에 바인딩되고 시작되었는지 확인합니다. |