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> 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.
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. |
Nelle sezioni seguenti è fornita una descrizione più dettagliata di ogni file.
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.
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
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
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 (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
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