Siebel 시스템에 대한 WCF 클라이언트 구성
WCF 클라이언트 클래스를 생성한 후 WCF 클라이언트(instance)를 만들고 해당 메서드를 호출하여 Siebel 어댑터를 사용할 수 있습니다. Siebel eBusiness 애플리케이션용 Microsoft BizTalk 어댑터가 노출하는 작업에 대한 WCF 클라이언트 클래스 및 도우미 코드를 생성하는 방법에 대한 자세한 내용은 Siebel 솔루션 아티팩트의 WCF 클라이언트 또는 WCF 서비스 계약 생성을 참조하세요.
WCF 클라이언트를 만들려면 엔드포인트 주소와 바인딩을 지정해야 합니다. 엔드포인트 주소는 유효한 Siebel 연결 URI를 포함해야 하며 바인딩은 Siebel 바인딩(SiebelBinding)의 instance 되어야 합니다. Siebel 연결 URI에 대한 자세한 내용은 Visual Studio에서 Siebel 시스템에 연결을 참조하세요.
코드 또는 구성 파일에서 Siebel 바인딩 및 엔드포인트 주소를 지정할 수 있습니다. 어댑터 서비스 참조 Visual Studio 플러그 인 추가를 사용하여 WCF 클라이언트 클래스를 생성하는 경우 프로젝트에 대한 구성 파일(app.config)도 만들어집니다. 이 파일에는 어댑터 서비스 참조 추가 플러그 인을 사용하여 Siebel 시스템에 연결할 때 지정한 바인딩 속성 및 연결 정보(자격 증명 제외)를 반영하는 구성 설정이 포함되어 있습니다.
코드에서 바인딩 및 엔드포인트 주소 지정
다음 코드에서는 코드에서 바인딩 및 엔드포인트 주소를 지정하여 WCF 클라이언트를 만드는 방법을 보여줍니다. 엔드포인트 주소에 대해 제공된 연결 URI 대신 WCF 클라이언트의 ClientCredentials 속성을 사용하여 Siebel 자격 증명을 지정하는 것이 좋습니다.
// A WCF client that targets the TimeStamp business service is created
// by using a binding object and endpoint address
SiebelBinding sblBinding = new SiebelBinding();
EndpointAddress sblAddress = new EndpointAddress("siebel://Siebel_server:1234?SiebelObjectManager=obj_mgr&SiebelEnterpriseServer=ent_server&Language=enu");
BusinessServices_TimeStamp_OperationClient client =
new BusinessServices_TimeStamp_OperationClient(sblBinding, sblAddress);
client.ClientCredentials.UserName.UserName = "SADMIN";
client.ClientCredentials.UserName.Password = "SADMIN";
client.Open();
구성 파일에서 바인딩 및 엔드포인트 주소 지정
다음 코드에서는 app.config 파일에서 바인딩 및 엔드포인트 주소를 지정하여 WCF 클라이언트를 만드는 방법을 보여 있습니다.
// A WCF client that targets the TimeStamp business service is created
// by specifying the client endpoint information in app.config
BusinessServices_TimeStamp_OperationClient client =
new BusinessServices_TimeStamp_OperationClient("SiebelBinding_BusinessServices_TimeStamp_Operation");
client.ClientCredentials.UserName.UserName = "SADMIN";
client.ClientCredentials.UserName.Password = "SADMIN";
client.Open();
App.config 파일
다음 XML은 어댑터 서비스 추가 참조 플러그 인을 통해 TimeStamp 비즈니스 서비스에 대해 만든 구성 파일을 보여 줍니다. 이 파일에는 이전 예제에서 참조된 클라이언트 엔드포인트 구성이 포함되어 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.serviceModel>
<bindings>
<siebelBinding>
<binding name="SiebelBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" enableBizTalkCompatibilityMode="false"
enablePerformanceCounters="false" enableConnectionPooling="true"
maxConnectionsPerSystem="5" idleConnectionTimeout="00:01:00"
acceptCredentialsInUri="false" />
</siebelBinding>
</bindings>
<client>
<endpoint address="siebel://Siebel_server:1234?SiebelObjectManager=obj_mgr&SiebelEnterpriseServer=ent_server&Language=enu"
binding="siebelBinding" bindingConfiguration="SiebelBinding"
contract="BusinessServices_TimeStamp_Operation" name="SiebelBinding_BusinessServices_TimeStamp_Operation" />
</client>
</system.serviceModel>
</configuration>
프로젝트에 둘 이상의 WCF 클라이언트가 있는 경우 구성 파일에 여러 클라이언트 엔드포인트 항목이 정의됩니다. 각 WCF 클라이언트 항목에는 바인딩 구성 및 대상 Siebel 아티팩트 기반의 고유한 이름이 있습니다. 예: " SiebelBinding_BusinessServices_TimeStamp_Operation ". 프로젝트에서 WCF 클라이언트를 만들기 위해 여러 번 연결하는 경우 각 연결에 대해 하나씩 여러 바인딩 구성 항목이 만들어집니다. 이러한 바인딩 구성 항목의 이름은 SiebelBinding, SiebelBinding1, SiebelBinding2 등으로 지정됩니다. 특정 연결 중에 만든 각 클라이언트 엔드포인트 항목은 해당 연결 중에 만든 바인딩 항목을 참조합니다.