Condividi tramite


Categorie di schemi nell'Aggiunta guidata adapter

Panoramica

Nota

Questo argomento è solo per adattatori statici che implementano l'interfaccia IStaticAdapterConfig .

Un adattatore può usare uno qualsiasi di migliaia di schemi per trasformare i dati prima di passarlo a BizTalk Server. Quando si aggiungono metadati a un progetto BizTalk, utilizzare l'Aggiunta guidata adapter per selezionare uno schema in un elenco di tutti gli schemi con cui l'adapter interagisce.

Nell'adapter FILE di esempio, il file CategorySchema.xml è un'istanza di schema utilizzata insieme al file BiztalkAdapterFramework.xsd di Adapter Framework per compilare un'organizzazione di visualizzazione ad albero di schemi di servizio. Il file BizTalkAdapterFramework.xsd si trova nella cartella \Programmi (x86)\Microsoft BizTalk Server <VERSION>Developer Tools.

È necessario creare questo file per organizzare gli schemi in modo intuitivo per la soluzione. Le categorie esistenti in CategorySchema.xml sono solo un esempio delle funzionalità disponibili in un albero. Le categorie non hanno alcuna particolare rilevanza per i dati passati dall'adapter di esempio. L'organizzazione degli schemi è particolarmente importante per gli adapter specifici di applicazione, in cui possono essere disponibili migliaia di schemi diversi. Per gli adapter specifici di trasporto, questa organizzazione di visualizzazione ad albero non è necessaria.

Nella figura seguente viene illustrata la pagina Seleziona servizi da importare nella Procedura guidata Aggiungi metadati adattatore.

Immagine che mostra la pagina Seleziona servizi da importare nella Procedura guidata Aggiungi metadati adattatore.
Visualizzazione ad albero delle categorie di schemi nell'Aggiunta guidata adapter

Esempio XML

Nel codice seguente viene illustrato il file CategorySchema.xml:

<?xml version="1.0" encoding="utf-8" ?>  
<CategoryTree>  
     <DisplayName>Services Organization</DisplayName>  
     <DisplayDescription>An organization of application services</DisplayDescription>  
     <CategoryTreeNode>  
          <DisplayName>Health Care</DisplayName>  
          <Description>Services under Health Care</Description>  
          <CategoryTreeNode>  
               <DisplayName>Administrative</DisplayName>  
               <Description>Administrative Health Care Services</Description>  
               <ServiceTreeNode>  
                    <DisplayName>Eligibility</DisplayName>  
                    <Description>Eligibility Verification Transactions</Description>  
                    <WSDLReference>ANSI X 12 270</WSDLReference>  
               </ServiceTreeNode>  
          </CategoryTreeNode>  
     </CategoryTreeNode>  
     <CategoryTreeNode>  
          <DisplayName>Manufacturing</DisplayName>  
          <Description>Manufacturing Services</Description>  
          <CategoryTreeNode>  
               <DisplayName>Inventory</DisplayName>  
               <Description>Inventory Services</Description>  
               <ServiceTreeNode>  
                    <DisplayName>Requisition</DisplayName>  
                    <Description>Requisition</Description>  
                    <WSDLReference>RequisitionService</WSDLReference>  
               </ServiceTreeNode>  
          </CategoryTreeNode>  
     </CategoryTreeNode>  
</CategoryTree>  

Nell'istanza di schema vengono visualizzati i tipi di nodi seguenti:

  • CategoryTree. Struttura di livello superiore di un modello di informazioni di sistema. Contiene zero o più nodi CategoryTreeNode, ExpandableCategoryTreeNode e ServiceTreeNode.

  • CategoryTreeNode. Contiene zero o più nodi CategoryTreeNode e ServiceTreeNode. Utilizzare il nodo CategoryTreeNode visualizzato come cartella nell'interfaccia utente per raggruppare una serie di servizi correlati. Questo nodo contiene in genere un nome visualizzato e una descrizione dei servizi da visualizzare. Un adapter può utilizzare un nodo CategoryTreeNode se il numero di nodi figlio è contenuto.

  • ExpandableCategoryTreeNode. Nodo foglia compilato dinamicamente al momento dell'espansione. Il nodo ExpandableCategoryTreeNode viene utilizzato come segnaposto e visualizzato come cartella nell'interfaccia utente. Può essere utilizzato per posticipare la compilazione di un nodo di categoria con sottoelementi fino a quando l'utente non fa clic per espandere il nodo. Un adapter può utilizzare un nodo ExpandableCategoryTreeNode se una categoria contiene un numero elevato di nodi figlio.

  • ServiceTreeNode. Un nodo ServiceTreeNode viene visualizzato come documento o nodo foglia nell'interfaccia utente e rappresenta un file WSDL (Web Services Description Language).

    Quando un utente fa clic sulla cartella per espandere un nodo, Adapter Framework chiama il metodo IStaticAdapterConfig.GetServiceOrganization nella scheda passando il nome del nodo come valore dell'attributo NodeIdentifier . L'adapter deve restituire un nodo CategoryTree contenente i sottonodi da aggiungere sotto il nodo ExpandableCategoryTreeNode. Adapter Framework sostituisce il nodo ExpandableCategoryTreeNode con un nodo CategoryTreeNode e aggiunge a quest'ultimo i nodi figlio del nodo CategoryTree restituito.

Nota

Nella chiamata iniziale a IStaticAdapterConfig.GetServiceOrganization il framework adapter passa null per l'identificatore del nodo. Questo indica all'adapter di restituire il nodo CategoryTree di livello radice.

Di seguito è riportato lo schema dell'albero delle categorie estratto dal file BiztalkAdapterFramework.xsd. Questo schema viene utilizzato dall'Aggiunta guidata adapter come albero scheletro da popolare con specifiche entità dipendenti dall'applicazione estratte da un file XML. Nell'esempio seguente il file in questione è CategorySchema.xml.

<!-- Service Organization Tree schema used by Add Adapter Wizard -->  
    <xs:element name="CategoryTree" type="CategoryTree" />  
    <xs:complexType name="CategoryTree">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="DisplayDescription" type="xs:string" />  
            <xs:choice minOccurs="0" maxOccurs="unbounded">  
                <xs:element name="ExpandableCategoryTreeNode" type="ExpandableCategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="CategoryTreeNode" type="CategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="ServiceTreeNode" type="ServiceTreeNode" minOccurs="0" maxOccurs="unbounded" />  
            </xs:choice>  
        </xs:sequence>  
    </xs:complexType>  
    <xs:complexType name="ExpandableCategoryTreeNode">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="Description" type="xs:string" />  
        </xs:sequence>  
        <xs:attribute name="NodeIdentifier" type="xs:string" use="required"></xs:attribute>  
    </xs:complexType>  
    <xs:complexType name="CategoryTreeNode">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="Description" type="xs:string" />  
            <xs:choice minOccurs="0" maxOccurs="unbounded">  
                <xs:element name="ExpandableCategoryTreeNode" type="ExpandableCategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="CategoryTreeNode" type="CategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="ServiceTreeNode" type="ServiceTreeNode" minOccurs="0" maxOccurs="unbounded" />  
            </xs:choice>  
        </xs:sequence>  
    </xs:complexType>  
    <xs:complexType name="ServiceTreeNode">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="Description" type="xs:string" />  
            <xs:element name="WSDLReference" type="xs:string" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:schema>  

Dopo aver modificato il file CategorySchema.xml, ricreare il progetto AdapterManagement e quindi eseguire l'Aggiunta guidata adapter, per assicurare che l'albero rappresentato in CategorySchema.xml venga visualizzato correttamente.

Per informazioni sull'esecuzione della Creazione guidata metadati adattatore, vedere la finestra di dialogo Aggiungi metadati adattatore nella guida per l'interfaccia utente e informazioni di riferimento sullo spazio dei nomi delle API per sviluppatori.