Freigeben über


Konfigurieren eines WCF-Clients für ein Siebel-System

Nachdem Sie die WCF-Clientklasse generiert haben, können Sie einen WCF-Client (instance) erstellen und dessen Methoden aufrufen, um den Siebel-Adapter zu nutzen. Informationen zum Generieren der WCF-Clientklasse und des Hilfscodes für Vorgänge, die vom Microsoft BizTalk-Adapter für Siebel eBusiness-Anwendungen verfügbar gemacht werden, finden Sie unter Generieren eines WCF-Clients oder eines WCF-Dienstvertrags für Siebel-Lösungsartefakte.

Zum Erstellen des WCF-Clients müssen Sie eine Endpunktadresse und eine Bindung angeben. Die Endpunktadresse muss einen gültigen Siebel-Verbindungs-URI enthalten, und die Bindung muss eine instance einer Siebel-Bindung (SiebelBinding) sein. Weitere Informationen zum Siebel-Verbindungs-URI finden Sie unter Herstellen einer Verbindung mit dem Siebel-System in Visual Studio.

Sie können die Siebel-Bindung und die Endpunktadresse im Code oder in einer Konfigurationsdatei angeben. Wenn Sie das Visual Studio-Plug-In Add Adapter Service Reference verwenden, um die WCF-Clientklasse zu generieren, wird auch eine Konfigurationsdatei (app.config) für Ihr Projekt erstellt. Diese Datei enthält Konfigurationseinstellungen, die die Bindungseigenschaften und Verbindungsinformationen (mit Ausnahme der Anmeldeinformationen) widerspiegeln, die Sie beim Herstellen einer Verbindung mit dem Siebel-System mit dem Add Adapter Service Reference Plug-In angegeben haben.

Angeben der Bindungs- und Endpunktadresse im Code

Der folgende Code zeigt, wie Sie einen WCF-Client erstellen, indem Sie die Bindungs- und Endpunktadresse im Code angeben. Es empfiehlt sich, die Siebel-Anmeldeinformationen mithilfe der ClientCredentials-Eigenschaft des WCF-Clients und nicht mit dem Verbindungs-URI anzugeben, der für die Endpunktadresse angegeben wird.

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

Angeben der Bindungs- und Endpunktadresse in einer Konfigurationsdatei

Der folgende Code zeigt, wie Sie einen WCF-Client erstellen, indem Sie die Bindungs- und Endpunktadresse in einer app.config-Datei angeben.

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

Die App.config-Datei

Der folgende XML-Code zeigt die Konfigurationsdatei, die für den TimeStamp-Geschäftsdienst durch das Add Adapter Service Reference Plug-In erstellt wurde. Diese Datei enthält die Clientendpunktkonfiguration, auf die im vorherigen Beispiel verwiesen wird.

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

Wenn ein Projekt über mehr als einen WCF-Client verfügt, sind mehrere Clientendpunkteinträge in der Konfigurationsdatei definiert. Jeder WCF-Clienteintrag hat einen eindeutigen Namen basierend auf seiner Bindungskonfiguration und dem Siebel-Zielartefakt. Beispiel: " SiebelBinding_BusinessServices_TimeStamp_Operation ". Wenn Sie mehrmals eine Verbindung herstellen, um die WCF-Clients in Ihrem Projekt zu erstellen, werden mehrere Bindungskonfigurationseinträge erstellt, einer für jede Verbindung. Diese Bindungskonfigurationseinträge werden wie folgt benannt: SiebelBinding, SiebelBinding1, SiebelBinding2 usw. Jeder Clientendpunkteintrag, der während einer bestimmten Verbindung erstellt wurde, verweist auf den Bindungseintrag, der während dieser Verbindung erstellt wurde.

Weitere Informationen

Entwickeln von Siebel-Anwendungen mithilfe des WCF-Dienstmodells