Condividi tramite


Configurare un client WCF per un sistema Siebel

Dopo aver generato la classe client WCF, è possibile creare un client WCF (istanza) e richiamarne i metodi per utilizzare l'adapter Siebel. Per informazioni su come generare la classe client WCF e il codice helper per le operazioni esposte dall'adapter Microsoft BizTalk per Siebel eBusiness Applications, vedere Generare un client WCF o un contratto di servizio WCF per gli artefatti della soluzione Siebel.

Per creare il client WCF, è necessario specificare un indirizzo endpoint e un'associazione. L'indirizzo dell'endpoint deve contenere un URI di connessione Siebel valido e l'associazione deve essere un'istanza di un'associazione Siebel (SiebelBinding). Per altre informazioni sull'URI di connessione Siebel, vedere Connettersi al sistema Siebel in Visual Studio.

È possibile specificare l'associazione Siebel e l'indirizzo dell'endpoint nel codice o in un file di configurazione. Quando si usa il plug-in Add Adapter Service Reference di Visual Studio per generare la classe client WCF, viene creato anche un file di configurazione (app.config) per il progetto. Questo file contiene le impostazioni di configurazione che riflettono le proprietà di associazione e le informazioni di connessione (ad eccezione delle credenziali) specificate quando si è connessi al sistema Siebel con il plug-in Di riferimento del servizio adattatore.

Specifica dell'associazione e dell'indirizzo dell'endpoint nel codice

Il codice seguente illustra come creare un client WCF specificando l'associazione e l'indirizzo dell'endpoint nel codice. È consigliabile specificare le credenziali Siebel usando la proprietà ClientCredentials del client WCF anziché l'URI di connessione fornito per l'indirizzo dell'endpoint.

// 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();  

Specifica dell'associazione e dell'indirizzo dell'endpoint in un file di configurazione

Il codice seguente illustra come creare un client WCF specificando l'indirizzo dell'associazione e dell'endpoint in un file di app.config.

// 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();  

The App.config File

Il codice XML seguente mostra il file di configurazione creato per il servizio business TimeStamp dal plug-in Aggiungi riferimento al servizio adapter. Questo file contiene la configurazione dell'endpoint client a cui si fa riferimento nell'esempio precedente.

<?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>  

Se un progetto ha più client WCF, nel file di configurazione saranno definite più voci di endpoint client. Ogni voce client WCF avrà un nome univoco in base alla configurazione dell'associazione e all'artefatto Siebel di destinazione; ad esempio " SiebelBinding_BusinessServices_TimeStamp_Operation ". Se ci si connette più volte per creare i client WCF nel progetto, verranno create più voci di configurazione dell'associazione, una per ogni connessione. Queste voci di configurazione dell'associazione verranno denominate nel modo seguente: SiebelBinding, SiebelBinding1, SiebelBinding2 e così via. Ogni voce dell'endpoint client creata durante una connessione specifica farà riferimento alla voce di associazione creata durante tale connessione.

Vedere anche

Sviluppare applicazioni Siebel usando il modello di servizio WCF