Per impostare la definizione di flusso di documenti, si caricano i file WSDL (Web Service Definition Language) che definiscono il servizio Web, oppure si immettono le definizioni di flusso di documenti manualmente tramite la Console comunità.
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 mediante uno dei seguenti metodi:
Ad esempio, si supponga che il file principale WSDL helloworldRPC.wsdl contenga il seguente elemento di importazione:
<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location= "bindingRPC.wsdl"/>
E si supponga che il file WSDL importato bindingRPC.wsdl contenga il seguente elemento di importazione:
<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location= "port/porttypeRPC.wsdl"/>
Il file deve contenere quanto segue:
Nome Percorso helloworldRPC.wsdl bindingRPC.wsdl porttypeRPC.wsdl porta\
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 Partner Gateway. Vengono passati direttamente, con l'URL di endpoint del servizio originale). Questo viene chiamato WSDL privato.
Inoltre, un WSDL viene salvato con l'URL privato sostituito dall'URL di destinazione specificato nella pagina Carica/scarica pacchetti. Il WSDL pubblico viene fornito agli utenti del servizio Web che invocano il servizio Web sull'URL di destinazione (URL pubblico). WebSphere Partner Gateway instrada quindi la richiesta del servizio Web in un gateway che è l'URL privato del provider del servizio web. WebSphere Partner Gateway funziona come un 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.
WebSphere Partner Gateway 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 mediante più file WSDL (questo succede quando sono stati importati i file WSDL, in un file WSDL primario), vengono caricati in un archivio compresso.
<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location="path1/bindingRPC.wsdl"/>La struttura di directory all'interno dell'archivio compresso è: path1/bindingRPC.wsdl.
Ora, si consideri questo esempio:
<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location="bindingRPC.wsdl"/>.
Il file bindingRPC.wsdl si trova a livello root all'interno dell'archivio compresso.
Per caricare un singolo file WSDL o un archivio compresso, utilizzare la seguente procedura.
https://<target_host:port>/bcgreceiver/ReceiverL'URL è generalmente lo stesso della definizione HTTP di produzione definito in Destinazioni.
https://<target_host:port>/bcgreceiver/Receiver?to=<participant_business_ID>
Un insieme di schemi XML che descrivono i file XML che possono essere caricati mediante la console viene fornito su supporto di installazione di WebSphere Partner Gateway. 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
Per immettere manualmente le definizioni del flusso di documenti, seguire le procedure illustrate in questa sezione. Inoltre, è necessario creare le voci Flusso di documenti, Attività e Azione singolarmente in Protocollo: servizio web, prestando particolarmente attenzione ai requisiti per l'Azione e la relativa 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:
{<operation_namespace>}:<operation_name>
{<namespace_of_identifying_xml_element = first_child_of_soap:body>}: <name_of _identifying_xml_element = first_child_of_soap:body>
Le definizioni critiche sono Azioni perché WebSphere Partner Gateway utilizza lo spazio dei nomi e il nome per riconoscere un messaggio SOAP di richiesta del servizio Web in entrata ed instradarlo in maniera appropriata in base alla connessione del partecipante definita. Lo spazio dei nomi e il nome del primo elemento XML child dell'elemento del messaggio SOAP ricevutosoap:body deve corrispondere al uno spazio dei nomi e nome dell'Azione nota nelle definizioni del flusso di documenti di WebSphere Partner Gateway.
Ad esempio, se un massaggio SOAP di richiesta del servizio web per un bind SOAP letterale del documento è:
<?xml versione="1.0" codifica="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>
WebSphere Partner Gateway 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 versione="1.0" codifica="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 Partner Gateway ricerca un'azione del servizio web definita con questo codice:
{http://www.helloworld.com/helloRPC}:helloWorldRPC
Per un binding RPC, lo spazio dei nomi e il nome del primo elemento child di soap:body di un messaggio di richiesta SOAP deve disporre di uno spazio dei nomi e di un nome dell'operazione del servizio web applicabile.
Per un binding letterale del documento, lo spazio dei nomi e il nome del primo elemento child di soap:body di un messaggio di richiesta SOAP deve essere lo spazio dei nomi e il nome dell'attributo dell'elemento XML nell'elemento parte della definizione del messaggio di input per il servizio web.