Condividi tramite


Strumenti di pipeline

Gli strumenti della pipeline forniti con Microsoft BizTalk Server Software Development Kit (SDK) consentono di verificare che una pipeline funzioni correttamente senza dover configurare l'ambiente di BizTalk Server, ad esempio le porte di invio/ricezione. Consentono inoltre di eseguire le operazioni seguenti:

  • Debug dei componenti di pipeline di terze parti esterni all'ambiente del server.

  • Diagnosi dei messaggi di errore del motore di analisi.

  • Prove con schemi diversi senza necessità di compilare, distribuire, annullare la distribuzione e ricompilare.

  • Esame del comportamento dell'assembler e del disassembler XML e di file flat.

  • Visualizzazione dell'output del disassembler e individuazione delle proprietà del contesto del messaggio di cui è stato innalzato il livello e dei relativi valori.

  • Esecuzione di pipeline di trasmissione/ricezione senza componenti disassembler e assembler (è ad esempio possibile visualizzare l'output del decodificatore S/MIME).

  • Esecuzione di misurazioni accurate delle prestazioni della sola pipeline anziché dell'intero sottosistema di messaggistica.

Percorso in SDK

<Percorso> di installazione\SDK\Utilities\PipelineTools

Gli strumenti di pipeline rendono possibili l'esecuzione, il debug e l'elaborazione di profili di pipeline e componenti di pipeline, ovvero componenti assembler/disassembler XML e file flat.

Inventario dei file

Nella tabella seguente sono elencati i file degli strumenti di pipeline con la relativa descrizione.

File Descrizione
DSDump.exe Consente di eseguire il dump dell'albero dello schema del documento, ovvero una rappresentazione leggera in memoria di uno o più schemi XSD, con o senza annotazioni di file flat. Questo strumento risulta utile quando si verificano errori del motore di analisi (ad esempio $Root$0$3$2) che è necessario decodificare. I numeri dopo il simbolo $ indicano un indice in base 0 o i record visualizzati nello schema del documento.
FFAsm.exe Esegue il componente dell'assembler del file flat, richiamandolo direttamente mediante emulazione di una pipeline di trasmissione per consentire di osservare la serializzazione o la composizione di un documento XML dell'utente in un documento file flat.
FFDasm.exe Esegue il componente del disassembler del file flat, richiamandolo direttamente mediante emulazione di una pipeline di ricezione per consentire di osservare l'analisi o il disassemblaggio di un documento file flat dell'utente in uno o più documenti XML.
Pipeline.exe Esegue una pipeline di trasmissione o ricezione, accetta uno o più documenti di input e le relative parti, schemi XSD e informazioni correlate e produce un documento di output dopo l'esecuzione della pipeline. Pipeline.exe non accede ai database BizTalk Server, pertanto le pipeline che contengono assemblyer e disassembler bizTalk Framework che accedono ai database BizTalk Server durante l'esecuzione potrebbero non essere supportati.
XMLAsm.exe Esegue il componente dell'assembler XML, richiamandolo direttamente mediante emulazione di una pipeline di trasmissione per consentire di osservare la serializzazione, la composizione o l'inclusione in una busta di un documento XML dell'utente in un documento XML di output.
XMLDasm.exe Esegue il componente del disassembler XML, richiamandolo direttamente mediante emulazione di una pipeline di ricezione per consentire di osservare l'analisi, il disassemblaggio o l'annullamento della busta di un documento XML dell'utente in uno o più documenti XML.

Utilizzo

Nelle sezioni seguenti è fornita una descrizione più dettagliata di ogni file.

DSDump.exe

Il file DSDump.exe consente di eseguire il dump dell'albero dello schema del documento, ovvero una rappresentazione leggera in memoria di uno o più schemi XSD, con o senza annotazioni di file flat.

Il file DSDump.exe (strumento per il dump degli schemi di documento) supporta il parametro della riga di comando seguente:

DSDump.exe schemaFileName  

In caso di esito positivo, lo schema del documento viene stampato nella console.

FFAsm.exe

Il file FFAsm.exe (assembler di file flat) supporta i parametri della riga di comando seguenti:

usage: ffasm document... [-dm documentMask...]-bs bodySchema [ -hs headerSchema ] [ -ts trailerSchema ] [ -c ] [ -d ] [ -sb ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           XML document(s)  
  documentMask       XML document(s) file mask, e.g., c:\\documents\\*.xml  
  bodySchema         Flat File body schema  
  headerSchema       Flat File header schema  
  trailerSchema      Flat File trailer schema  
  -c                 Display assembled FF message on the console  
  -d                 Demote properties  
  -sb                Set body schema(s) as design-time property  
  -m                 Output file name mask (default is %MessageID%)  
  encoding           Output message encoding name (e.g. windows-1252) or   
                         code page (e.g. 936)  
  -v                 Verbose mode  

file name macros:  
  %MessageID%        FF message identifier (Guid)  
  %MessagePartID%    FF message part identifier (Guid)  

Se ad esempio si desidera comporre tre documenti XML di input in un unico documento file flat con un'intestazione e l'abbassamento di livello delle proprietà, utilizzare il comando seguente:

FFAsm.exe file_in1.xml file_in2.xml file_in3.xml –hs myHeaderSchema.xsd –bs myBodySchema.xsd -d  

FFDasm.exe

Il file FFDasm.exe (disassembler di file flat) supporta i parametri della riga di comando seguenti:

usage: ffdasm document -bs bodySchema [ -hs headerSchema ] [ -ts trailerSchema ] [ -s ] [ -c ] [ -p ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           Flat File document  
  bodySchema         Flat File body schema  
  headerSchema       Flat File header schema  
  trailerSchema      Flat File trailer schema  
  -s                 Validate document structure  
  -c                 Display disassembled XML message on the console  
  -p                 Display promoted properties on the console  
  encoding           Input message body part encoding name (e.g. windows-1252) or code page (e.g., 396)  
  -m                 Output file name mask (default is %MessageID%)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  

Se ad esempio si desidera disassemblare un documento file flat dotato di un'intestazione, un corpo e una pagina di riepilogo e visualizzare il risultato nella console, utilizzare il comando seguente:

FFDasm.exe file_in.txt –hs myHeaderSchema.xsd –bs myBodySchema.xsd –ts myTrailerSchema.xsd –c  

Pipeline.exe

Il file Pipeline.exe (lo strumento di pipeline) supporta i parametri della riga di comando seguenti:

usage: pipeline ( pipeline[.btp] | -pt pipelineTypeName [ -an assemblyName ] ) -d document... [ -part part... ] [ -s schema[.xsd][:namespace.type]... ] [ -proj project[.btproj] ] [ -p ] [ -c ] [ -t ] [ -m filenamemask ] [ -pm partfilenamemask ] [ -en encoding ] [ -v ]  

where:  
  pipeline                Pipeline file name  
  pipelineTypeName     Compiled pipeline assembly qualified type name (e.g.   
"MyPipelines.ReceivePipeline, MyPipelines,   
Version=1.0.0.0, Culture=neutral,   
PublicKeyToken=e03965cb5971ad66" or full name (e.g.   
"MyPipelines.ReceivePipeline") if assembly name is   
specified  
  assemblyName         Compiled pipeline assembly file name (e.g.   
MyPipelines.dll) or name (e.g. "MyPipelines,   
Version=1.0.0.0, Culture=neutral,   
PublicKeyToken=e03965cb5971ad66")  
  document             Input document(s)  
  part                 Input document's part  
  schema               Schema file name  
  namespace            Schema namespace (as in BizTalk project system)  
  type                 Schema type (as in BizTalk project system)  
  project              BizTalk project file  
  -p                   Display promoted context properties for receive and   
send pipelines, and promote context properties for   
send pipelines  
  -c                      Display output document on the console  
  -t                      Display elapsed time of components execution  
  filenamemask         Output message file name mask (default is   
Message_%MessageID%.out)  
  partfilenamemask     Output part file name mask (default is   
Part_%MessagePartID%.out)  
  encoding             Output message encoding name (e.g. windows-1252)   
or code page (e.g. 936)  
  -v                   Verbous mode  

note:  
You can specify namespace and type for schemas either using namespace.type notation in schema file reference or by using BizTalk project file.  

file name macros:  
  %MessageID%           Message identifier (Guid)  
  %MessagePartID%       Message part identifier (Guid)  
  %MessageNumber%       Message number  

Se ad esempio si desidera eseguire una pipeline di ricezione dal file ReceivePipeline.btp (che presenta i componenti disassembler XML e convalida XML) utilizzando mySchema.xsd e visualizzare il risultato nella console, utilizzare il comando seguente:

Pipeline.exe ReceivePipeline.btp –d file_in.xml –s MySchema.xsd:MyProject.MySchema -c  

oppure

Pipeline.exe ReceivePipeline.btp –d file_in.xml –s MySchema.xsd –proj MyProject.btproj -c  

Nel primo esempio viene incluso un nome di tipo qualificato (MyProject.MySchema) per lo schema come argomento della riga di comando. Nel secondo esempio lo schema viene ottenuto dal file di progetto BizTalk specificato.

È anche possibile eseguire pipeline dai file di progetto compilati BizTalk Server, come nell'esempio seguente (la pipeline viene fatto riferimento al nome del tipo qualificato per l'assembly):

Pipeline.exe -pt "TestBtsProject.ReceivePipeline, TestBtsProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e03965cb5971ad66" -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c  

Nell'esempio seguente viene fatto riferimento a una pipeline separatamente dal relativo nome tipo e dal nome del file assembly:

Pipeline.exe -pt TestBtsProject.ReceivePipeline –an TestBtsProject.dll -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c   

Nell'esempio seguente viene fatto riferimento a una pipeline dal relativo nome assembly:

Pipeline.exe -pt TestBtsProject.ReceivePipeline –an "TestBtsProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e03965cb5971ad66" -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c  

Per eseguire Pipeline.exe è possibile utilizzare le credenziali desiderate. Non usa l'account in cui vengono eseguite le normali istanze host BizTalk Server, pertanto potrebbe non essere possibile eseguire pipeline che contengono componenti che richiedono l'accesso al database. Avere cura di eseguire Pipeline.exe con un account che dispone di tutti i privilegi necessari.

È opportuno utilizzare Pipeline.exe solo per verificare le pipeline personalizzate senza componenti personalizzati di terze parti. Se al contrario si utilizza Pipeline.exe per verificare una pipeline personalizzata con componenti personalizzati di terze parti, l'output desiderato verrà generato ma se si distribuisce la stessa pipeline personalizzata con componenti personalizzati di terze parti, si utilizza la pipeline in una porta di ricezione o trasmissione e in seguito si utilizza Pipeline.exe per inviare un messaggio alla pipeline, la pipeline non verrà elaborata e verrà generato errore.

XMLAsm.exe

XMLAsm.exe (strumento assembler XML) supporta i parametri della riga di comando seguenti:

usage: xmlasm document...[-dm documentmask...] -ds documentSchema... [ -es envelopeSchema... ] [ -c ] [ -d ] [ -sd ] [ -m filenamemask ] [ -v ]  

where:  
  document           XML document(s)  
  documentMask       XML document(s) file mask, e.g., c:\\documents\\*.xml  
  documentSchema     XML document schema(s)  
  envelopeSchema     XML envelope schema(s)  
  -c                 Display assembled XML message on the console  
  -d                 Demote properties  
  -sd                Set document schema(s) as design-time property  
  -d                 Demote properties  
  -m                 Output file name mask (default is %MessageID%)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  

Se ad esempio si desidera comporre due documenti XML di input in un unico documento XML con una busta e visualizzare il risultato nella console, utilizzare il comando seguente:

FFAsm.exe file_in1.xml file_in2.xml–es myEnvelopeSchema.xsd –ds myBodySchema.xsd –c  

XMLDasm.exe

Il file XMLDasm.exe supporta i parametri della riga di comando seguenti:

usage: xmldasm document -ds documentSchema... [ -es envelopeSchema... ] [ -s ] [ -c ] [ -p ] [ -sd ] [ -se ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           XML document  
  documentSchema     XML document schema(s)  
  envelopeSchema     XML envelope schema(s)  
  -s                 Validate document structure  
  -c                 Display disassembled XML message on the console  
  -p                 Display promoted properties on the console  
  -sd                Set document schema(s) as design-time property  
  -se                Set envelope schema(s) as design-time property  
  -m                 Output file name mask (default is %MessageID%)  
  encoding           Input message body part encoding name (e.g., windows-1252) or code page (e.g., 936)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  
  %MessageNumber%    XML message number  

Se ad esempio si desidera disassemblare un documento XML con due buste nidificate e visualizzare il risultato nella console, utilizzare il comando seguente:

XmlDasm.exe file_in.txt –ds myDocumentSchema.xsd –es myEnvelopeSchema1.xsd –es myEnvelopeSchema2.xsd –c  

Vedere anche

Utilità incluse nell'SDK