4단계: BizTalk Server 솔루션 구성
이전 단계에서는 BizTalk Server Salesforce 알림을 수신하고 세부 정보를 온-프레미스 SQL Server 데이터베이스에 삽입하는 BizTalk Server 애플리케이션을 만들고 배포했습니다. 이 단계에서는 BizTalk Server 관리 콘솔에서 애플리케이션을 구성합니다. 응용 프로그램을 구성하려면 기본적으로 오케스트레이션에서 만든 논리 포트에 해당하는 실제 포트를 만들어야 합니다. 또한 실제 포트를 논리 포트에 바인딩해야 합니다. 다음 단계를 수행하여 BizTalk Server 애플리케이션을 구성합니다.
Salesforce로부터 기회 알림을 수신하도록 요청-응답 WCF-BasicHttpRelay 수신 위치를 구성합니다.
수신한 기회 알림과 관련된 제품 세부 정보를 검색하기 위한 쿼리를 Salesforce에 송신하도록 요청-응답 WCF-WebHttp 송신 포트를 구성합니다. 이 송신 포트는 또한 Salesforce로부터 쿼리 응답을 수신합니다.
Salesforce의 쿼리 응답 온-프레미스 SQL Server 데이터베이스에 삽입하도록 단방향 WCF-SQL 송신 포트를 구성합니다.
오케스트레이션의 논리 포트를 BizTalk Server 관리 콘솔에서 만든 실제 포트와 연결하여 BizTalk Server 애플리케이션을 구성합니다.
WCF-BasicHttpRelay 수신 위치를 구성하려면
BizTalk Server 관리 콘솔을 엽니다. 애플리케이션 노드를 확장하고 SalesforceIntegration 애플리케이션을 찾습니다. 이 애플리케이션은 Visual Studio에서 BizTalk Server 프로젝트를 배포할 때 만들어집니다.
SalesforceIntegration 애플리케이션을 확장하고 수신 포트를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 요청-응답 수신 포트를 클릭합니다. 포트 이름을 로
ReceiveOppNotification
지정하고 왼쪽 창에서 수신 위치를 클릭합니다.수신 위치 속성 대화 상자에서 다음 값을 지정합니다.
매개 변수 값 속성 ReceiveOppNotification
를 입력합니다.Type WCF-BasicHttpRelay 선택 수신 핸들러 BizTalkServerApplication을 선택합니다. 수신 파이프라인 XMLReceive 선택 송신 파이프라인 PassThruTransmit 선택 포트 유형에 대해 구성 을 클릭합니다.
WCF-BasicHttpRelay 전송 속성 대화 상자에서 다음 값을 지정합니다.
일반 탭에서 주소(URI)에 를 입력합니다
https://btssalesforce.servicebus.windows.net/notifications/opportunity
. 여기서 btssalesforce 는 1단계: Service Bus 네임스페이스 만들기에서 만든 네임스페이스입니다. 여기서 지정하는 URL은 2단계: Salesforce 시스템 설정에서 Salesforce에서 워크플로를 만드는 동안 지정한 것과 동일한 URL입니다. 영업 기회의 스테이지가 Closed Won로 설정되면 Salesforce가 URLhttps://btssalesforce.servicebus.windows.net/notifications/opportunity
에 알림을 보내는 워크플로를 설정합니다. 여기서는 동일한 URL을 이 수신 위치 구성의 일부로 지정합니다. 수신 위치를 사용하도록 설정하면 URL로 지정된 릴레이 엔드포인트가 Microsoft Azure에서 만들어집니다.보안 탭에서 다음을 지정합니다.
보안 모드에서 전송을 선택하고 릴레이 클라이언트 인증 유형에 대해 없음을 선택합니다.
서비스 검색 검사 사용 상자를 선택하여 서비스 레지스트리에 서비스 동작을 게시합니다. 서비스가 레지스트리에 게시되는 이름을 나타내는 표시 이름을 지정합니다. 검색 모드를 퍼블릭 또는 프라이빗으로 설정할 수 있습니다. 이 자습서에서는 표시 이름을 로
SF Outbound Notification
설정하고 검색 모드 를 공용으로 설정합니다.액세스 제어 서비스 상자에서 편집을 클릭합니다. Access Control Service STS Uri에 를 입력합니다
https://btssalesforce-sb.accesscontrol.windows.net/
. 발급자 이름 및 발급자 키의 경우 1단계: 기본 사용자 및 기본 키 필드에 대한 Service Bus 네임스페이스 만들기에 저장한 값을 입력합니다.
열려 있는 모든 대화 상자를 종료할 때까지 확인을 클릭합니다.
WCF-WebHttp 송신 포트를 구성하려면
SalesforceIntegration 애플리케이션을 확장하고 포트 보내기를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 정적 Solicit-Response 포트 보내기를 클릭합니다.
송신 포트 속성 대화 상자에서 다음 값을 지정합니다.
매개 변수 값 속성 SalesforceREST
를 입력합니다.Type WCF-WebHttp 선택 송신 핸들러 BizTalkServerApplication을 선택합니다. 송신 파이프라인 PassThruTransmit 선택 수신 파이프라인 AddNamespace를 선택하고 파이프라인에 대해 줄임표 단추를 클릭하여 파이프라인을 구성합니다.
- 1단계: 디코딩에서 NamespaceBase에 를 입력합니다http://BtsSalesforceIntegration.QueryResult
. 3b단계: WCF-WebHttp 어댑터를 사용하여 Salesforce에서 영업 기회 세부 정보 검색에서 만든 QueryResult.xsd 스키마의 네임스페이스입니다. AddNamespace 수신 파이프라인이 Salesforce로부터 응답을 받으면 응답 메시지에 이 네임스페이스를 추가합니다. 기본적으로 Salesforce의 응답 메시지에는 네임스페이스가 포함되지 않습니다.
NamespacePrefix에 를 입력합니다sf
.
- 2단계: 디스어셈블에서 기본값을 적용한 다음 확인을 클릭합니다.송신 포트 속성 대화 상자에서 포트 유형에 대해 구성 을 클릭합니다.
WCF-WebHttp 전송 속성 대화 상자에서 다음 값을 지정합니다.
일반 탭에서 다음을 수행합니다.
주소(URI)에 를 입력합니다
https://<Salesforce_instance_name>.salesforce.com/services/data/v24.0
. Salesforce.com 포털이 열려 있는 주소 표시줄에서 https://와 Salesforce.com 사이의 텍스트를 복사하여 Salesforce 인스턴스 이름을 검색할 수 있습니다. 예를 들어 Salesforce 포털의 URL이 https://na15.salesforce.com/home/home.jsp 경우 Salesforce instance 이름은 na15입니다.HTTP 메서드 및 URL 매핑 상자에서 다음을 지정합니다.
<BtsHttpUrlMapping> <Operation Method="GET" Url="/query?q={VAR}" /> </BtsHttpUrlMapping>
이 설정을 사용하는 방법은 다음과 같습니다. 영업 기회 알림에 대한 자세한 정보를 검색하기 위해 Salesforce를 쿼리하려면 Salesforce REST 엔드포인트( 주소 필드에 지정됨)에서 GET 작업을 수행하고 쿼리를 추가하여 영업 기회 세부 정보를 검색해야 합니다. 따라서, URL은 다음과 같습니다.
https://na15.salesforce.com/services/data/v24.0/query?q=<query_string>
이미 URI(주소) 필드의 일부로 Salesforce REST 엔드포인트가 있습니다. 따라서 HTTP 메서드 및 URL 매핑 속성의 일부로 GET 메서드를 사용하고 {VAR} 을 변수로 추가합니다.
변수 매핑 상자에서 편집을 클릭합니다. 이 상자에서는 런타임에 {VAR} 변수의 값을 추론하는 방법을 지정합니다.
3b단계: WCF-WebHttp 어댑터를 사용하여 Salesforce에서 기회 세부 정보 검색에서 Query 속성을 승격하여 PropertySchema.xsd를 만들었습니다. 해당 스키마의 Query 요소를 사용하여 해당 요소를 URL의 {VAR} 변수에 매핑하여 쿼리 문자열을 전달합니다.
변수 매핑 대화 상자에서 변수 열에는 이전에 지정한 변수 이름(예: VAR)이 나열됩니다. 속성 이름 열에서 변수에 전달할 쿼리 문자열이 있는 승격된 속성의 이름을 지정합니다. 이 자습서에서 해당 속성 이름은 Query입니다. 마지막으로 속성 네임스페이스에 대해 PropertySchema.xsd의 네임스페이
https://BtsSalesforceIntegration.PropertySchema
스()를 지정합니다. 확인을 클릭합니다.
보안 탭의 보안 모드에서 전송을 선택합니다.
동작 탭에서 3d단계: Salesforce에서 메시지를 보내고 받기 위해 BizTalk Server 사용하도록 설정에서 만든 사용자 지정 동작을 사용하여 Salesforce로 인증합니다. 이 동작을 사용하려면 다음을 수행합니다.
EndpointBehavior를 마우스 오른쪽 단추로 클릭한 다음 확장 추가를 선택합니다.
동작 확장 선택 대화 상자에서 Microsoft.BizTalk.Adapter.Behaviors.Demo.Salesforce를 선택합니다. machine.config를 추가할 때 이 동작 이름을 사용했습니다.
새로 추가된 동작을 선택한 후 다음 값을 지정합니다.
매개 변수 값 consumerKey(필수) Salesforce 계정에 대한 소비자 암호를 지정합니다. 2단계: Salesforce 시스템 설정에서 만든 Salesforce 연결된 애플리케이션으로 이동하여 소비자 키를 검색할 수 있습니다. consumerSecret(필수) 2단계: Salesforce 시스템 설정에서 만든 Salesforce 연결된 애플리케이션에서 소비자 비밀을 검색합니다. 암호 입력(필수) Salesforce 계정에 대한 암호를 지정합니다. 타사 응용 프로그램에서 Salesforce에 연결하려면 암호 뒤에 보안 토큰이 나오는 형식으로 암호를 지정해야 합니다. 예를 들어 암호가 암호 이고 토큰이 XXXXXX인 경우 를 입력 passwordXXXXXX
해야 합니다.sessionTimeout 기본값이 300입니다. Username(필수) Salesforce 개발자 로그인 계정을 지정합니다.
메시지 탭의 아웃바운드 메시지 상자에서 동사에 대한 본문 표시 안 함에서 를 입력합니다
GET
. 이렇게 하면 GET 메서드의 경우 Salesforce에 전송되는 요청에 메시지 페이로드가 없습니다.열려 있는 모든 대화 상자를 종료할 때까지 확인을 클릭합니다.
WCF-SQL 송신 포트를 구성하려면
SalesforceIntegration 애플리케이션을 확장하고 포트 보내기를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 정적 단방향 송신 포트를 클릭합니다.
송신 포트 속성 대화 상자에서 다음 값을 지정합니다.
매개 변수 값 속성 SendToSQL
를 입력합니다.Type WCF-SQL 선택 송신 핸들러 BizTalkServerApplication을 선택합니다. 송신 파이프라인 XMLTransmit 선택 송신 포트 속성 대화 상자에서 포트 유형에 대해 구성 을 클릭합니다.
WCF-SQL 전송 속성 대화 상자에서 다음 값을 지정합니다.
일반 탭에서 다음을 수행합니다.
아래에서
Endpoint Address
구성을 클릭합니다. InitialCatalog 속성의 경우 Salesforce 응답의 데이터를 입력해야 하는 테이블이 포함된 데이터베이스 이름을 지정합니다. 이 자습서에서는 이 값을 로Orders
입력합니다. Server 속성에 SQL Server 데이터베이스가 설치된 서버 이름을 입력합니다.SOAP 작업 헤더에서 OrderDetails 테이블에 삽입하는 데 사용할 작업을 지정합니다. 를 입력
TableOp/Insert/dbo/OrderDetails
해야 합니다.
자격 증명 탭에서 모든 항목을 비워 두면 어댑터가 Windows 인증을 사용하여 SQL Server 데이터베이스에 연결합니다. 다른 형태의 인증을 사용하려면 관련 값을 지정하면 됩니다.
열려 있는 모든 대화 상자를 종료할 때까지 확인을 클릭합니다.
BizTalk Server 응용 프로그램을 구성하려면
BizTalk Server 관리 콘솔에서 SalesforceIntegration 애플리케이션을 마우스 오른쪽 단추로 클릭한 다음 구성을 클릭합니다.
애플리케이션 구성 대화 상자에서 NotificationServiceClient 오케스트레이션을 선택하고 오른쪽 창에서 다음을 수행합니다.
호스트에서 BizTalkServerApplication을 선택합니다.
논리적 수신 포트 SalesforceNotificationPort 를 실제 수신 포트 인 ReceiveOppNotification에 매핑합니다.
논리적 송신 포트 SalesforceRESTInterface 를 실제 송신 포트 SalesforceREST에 매핑합니다.
논리 송신 포트 SendToSQL 을 실제 송신 포트 SendToSQL에 매핑합니다.
확인을 클릭합니다.
SalesforceIntegration 애플리케이션을 마우스 오른쪽 단추로 클릭한 다음 시작을 클릭합니다. 그러면 NotificationServiceClient 오케스트레이션이 시작되고, 수신 위치가 활성화되고, 송신 포트가 시작됩니다.
이 항목에서는 오케스트레이션의 논리 포트를 실제 포트와 연결하여 BizTalk Server 관리 콘솔에서 솔루션 구성을 완료했습니다.