Per impostare la Definizione del flusso di documenti, si caricano i file WSDL (Web Service Definition Language) che definiscono il servizio Web, come descritto in Configurazione hub. In alternativa, è possibile inserire le Definizioni del flusso di documenti equivalenti manualmente mediante la Console comunità.
Per inserire le Definizioni del flusso di documenti equivalenti manualmente, seguire le procedure in Creazione di un flusso di definizione di documenti. Inoltre, è necessario creare gli inserimenti di Flusso di documenti, Attività e Azione singolarmente in Servizio web del protocollo, come descritto in basso, prestando particolare attenzione ai requisiti per l'Azione e la sua relazione nei messaggi SOAP ricevuti.
Nei termini di gerarchia di Pacchetto/Protocollo/Flusso di documenti/Attività/Azione delle Definizioni del flusso di documenti, viene rappresentato un servizio Web supportato come:
Pacchetto: Nessuno (nome e codice), versione N/A
Protocollo: servizio web (nome e codice), versione 1.0
Flusso di documenti: '{<spazio nome del servizio
web>}:<nome servizio web>' (nome e codice), che è
richiesto per essere unico tra i flussi documenti per il protocollo del
servizio Web. Questo è generalmente lo spazio nome e il nome WSDL
Attività: un'attività per ogni operazione del servizio Web, con
nome e codice:
'{<spazio nome operazione>}:<nome operazione>'
Azioni: un'azione per il messaggio di input di ogni operazione, con nome e codice:
'{<spazio nome di identificazione elemento xml = primo figlio di of soap:body>}:<nome di identificazione elemento xml = primo figlio di soap:body>'
Le definizioni critiche sono Azioni perché WebSphere Business Integration Connect utilizza lo spazio nome e il nome di Azione per riconoscere un messaggio SOAP di richiesta del servizio web e instradarlo in maniera appropriata in base alla connessione del partecipante definita. Lo spazio nome e il nome del primo elemento XML figlio dell'elemento soap:body del messaggio SOAP ricevuto deve corrispondere al nome spazio e al nome dell'azione nelle definizioni del flusso di documenti di WebSphere Business Integration Connect.
Ad esempio, se un messaggio SOAP di richiesta del servizio web è il seguente (per un binding SOAP letterale del documento):
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/ 2001/XMLSchema-instance"> <soapenv:Body> <nameAndAddressElt xmlns="http://www.helloworld.com/xsd/helloDocLitSchema"> <titleElt xmlns="">Mr</titleElt> <nameElt xmlns="">Joe Smith</nameElt> <addressElt xmlns=""> <numberElt>123</numberElt> <streetElt>Elm St</streetElt> <cityElt>Peoria</cityElt> </addressElt> </nameAndAddressElt> </soapenv:Body> </soapenv:Envelope>
Quindi WebSphere Business Integration Connect cerca un'Azione del
servizio Web definita con questo codice:
{http://www.helloworld.com/xsd/helloDocLitSchema}:nameAndAddressElt
Per un messaggio di richiesta SOAP di stile binding RPC ad esempio:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/ 2001/XMLSchema-instance"> <soapenv:Body> <ns1:helloWorldRPC soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/ encoding/ xmlns:ns1="http://www.helloworld.com/helloRPC"> <name xsi:type="xsd:string">Joe Smith</name> </ns1:helloWorldRPC> </soapenv:Body> </soapenv:Envelope>
WebSphere Business Integration Connect cerca un'azione del servizio Web con questo codice: {http://www.helloworld.com/helloRPC}:helloWorldRPC
Per un binding RP, lo spazio nome e il nome del primo elemento figlio soap:body del messaggio di richiesta SOAP deve essere lo nome spazio e il nome del funzionamento del servizio web applicabile.
Per un binding letterale del documento, lo spazio nome e il nome del primo elemento figlio soap:body del messaggio di richiesta SOAP deve essere lo nome spazio e il nome del funzionamento del servizio web applicabile.
La definizione per un servizio Web deve essere contenuta in un file WSDL primario, con estensione ".wsdl", che potrebbe importare i file WSDL aggiuntivi mediante l'elemento di "importazione". Se ci sono file importati, questi possono essere caricati con il file primario utilizzando uno dei seguenti metodi:
Esempio:
Il file WSDL primario 'helloworldRPC.wsdl' contiene
'<spazio nome di importazione="http://www.helloworld.com/wsdl/helloRPC.wsdl" posizione= "bindingRPC.wsdl"/>'
cIl file WSDL importato 'bindingRPC.wsdl' contiene
'<spazio nome di importazione="http://www.helloworld.com/wsdl/helloRPC.wsdl" posizione= "port/porttypeRPC.wsdl"/>'
Il file zip deve contenere il seguente:
Nome Percorso helloworldRPC.wsdl bindingRPC.wsdl porttypeRPC.wsdl port\
Quando una definizione del file WSDL di un servizio Web viene caricata, il WSDL originale viene salvato come Mappa di convalida. (I messaggi del servizio Web non vengono effettivamente convalidati da WebSphere Business Integration Connect. Vengono passati direttamente, con l'URL di endpoint del servizio originale). Questo viene chiamato WSDL privato.
Oltre al WDSL pubblico che viene salvato con l'URL privato sostituito da un URL di destinazione, come fornito dall'utente nell'input di Caricamento del flusso di documenti. Il WSDL pubblico viene fornito agli utenti del servizio Web che invocano il servizio Web nell'URL di destinazione (URL pubblico).WebSphere Business Integration Connect instrada quindi la richiesta del servizio Web in un gateway che è l'URL privato del provider del servizio web. WebSphere Business Integration Connect agisce da proxy, inoltrando la richiesta a un URL del provider privato che è nascosto dall'utente del servizio web.
Sia il WSDL pubblico che quello privato (compresi i file importati) possono essere scaricati dalla Console comunità dopo che il WSDL è stato caricato.
Business Integration Connect fornisce un modo per importare i file WSDL. Se un servizio Web viene definito in un file WSDL singolo, è possibile caricare il file WSDL direttamente. Se il servizio web viene definito utilizzando i file WSDL multipli (questo succede quando sono stati importati i file WSDL, in un file WSDL primario), vengono caricati in un archivio ZIP.
Importante: I file WSDL nell'archivio ZIP devono essere in una directory specificata nell'elemento di importazione WSDL. Ad esempio, con il seguente elemento di importazione: <spazio nome di importazione="http://www.helloworld.com/wsdl/helloRPC.wsdl" posizione="path1/bindingRPC.wsdl"/>, la struttura della directory nell'archivio ZIP sarebbe path1/bindingRPC.wsdl. Nell'esempio successivo: <spazio nome di importazione="http://www.helloworld.com/wsdl/helloRPC.wsdl" posizione="bindingRPC.wsdl"/>, il file bindingRPC.wsdl sarebbe al livello root nell'archivio ZIP.
Per caricare un file WSDL singolo o un archivio ZIP, utilizzare la seguente procedura.
Per un servizio web fornito da un un partecipante (che viene invocato dal Gestore comunità), inserire l'URL pubblico del partecipante con una stringa della query. Ad esempio, http(s)://<target host:port>/bcgreceiver/Receiver?to=<Id commerciale del partecipante>.
Un gruppo di schemi XML che descrivono i file XML che possono essere caricati mediante la console viene fornito su mezzo di installazione di Business Integration Connect. I file caricati vengono convalidati rispetto agli schemi. I file dello schema sono un utile riferimento per la determinazione della causa di un errore quando un file non può essere caricato a causa di un XML non conforme. I file sono: wsdl.xsd, wsdlhttp.xsd, ewsdlsoap.xsd, che contengono lo schema che descrive il file di WSDL (Web Service Definition Language).
I file vengono posizionati in: B2BIntegrate\packagingSchemas
La procedura finale di creazione delle Definizioni del flusso di documenti su un nuovo servizio Web è quella di creazione di un'interazione con la stessa Azione del flusso di documenti del servizio web come l'Origine e la Destinazione.
Per creare le interazioni, utilizzare la seguente procedura.