Nwlapcug.com


Come importare XSD in WSDL

Come importare XSD in WSDL


Linguaggio di descrizione dei servizi Web (WSDL) è un modello e un formato per la descrizione dei servizi web tramite XML. Un consumatore può individuare un servizio ed eseguire le sue operazioni. Questo processo può essere automatizzato utilizzando strumenti di sviluppo più comuni, integrazione delle applicazioni con piccolo sviluppatore prodotto codice di abilitazione. WSDL è un contratto tra il fornitore e il consumatore; rende un servizio autodescrittivi. File WSDL fornire descrizioni di tutte le operazioni pubbliche, tipi di dati per tutti i messaggi di servizio, associazione dettagli per le informazioni di indirizzo di protocollo e servizio trasporto. Un elemento di "importazione" può essere utilizzato in un WSDL per importare file WSDL esterne o schemi XML. Importazione di elementi esterni è utile per consentire il WSDL essere più modulare, riutilizzo dei tipi di dati XML tra più definizioni di servizio e supporto di più versioni di uno schema.

Istruzioni

1

Creare nuovo file di testo o XML editor. Se l'editor supporta file WSDL, selezionare WSDL come tipo di file. Se non supporta file WSDL, ma supporta XML, selezionare XML come tipo di file. Se né file WSDL o XML sono supportati, selezionare un tipo di file di testo normale.

2

Nome del file con qualsiasi nome che desideri e assegnare al file un'estensione "wsdl". Ad esempio, il file può essere denominato "HelloWorld.wsdl."

3

Creare un secondo file di nuovo nel vostro testo o XML editor. Se l'editor supporta gli schemi XML, selezionare schema XML o XSD come tipo di file. Se non supporta gli schemi XML, ma supporta file XML, è possibile selezionare XML come tipo di file. Se né schemi XML o XML sono supportati, selezionare un tipo di file di testo normale.

4

Nome del file con qualsiasi nome che desideri e assegnare al file un'estensione "xsd". Ad esempio, il file può essere denominato "HelloWorld.xsd."

5

Immettere il seguente codice nel file di schema XML che è stato creato:

<? xml versione = "1.0"? >

< xsd: Schema targetNamespace = "http://schemas.myorg.com/person/phone"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

< xsd:import namespace = "http://www.w3.org/2001/XMLSchema" / >

< xsd: complexType name = "Telefono" >

&lt;xsd:sequence>

&lt;xsd:element name="areaCode" type="xsd:int"/>

&lt;xsd:element name="exchange" type="xsd:int"/>

&lt;xsd:element name="number" type="xsd:int"/>

&lt;/xsd:sequence>

< / xsd: complexType >

< / xsd: schema >

Questo definisce uno schema con lo spazio dei nomi "http://schemas.myorg.com/person/phone," che definisce un tipo di dati single "Telefono".

6

Immettere il seguente codice nel file WSDL che è stato creato:

<? xml versione = "1.0"? >

< wsdl:description xmlns:wsdl = "http://www.w3.org/ns/wsdl"

xmlns:wsoap = "http://www.w3.org/ns/wsdl/soap"

xmlns:External = "http://schemas.myorg.com/person/phone"

xmlns:HelloWorld = "http://schemas.myorg.com/wsdl/helloworld"

targetNamespace = "http://schemas.myorg.com/wsdl/helloworld" >

< wsdl:documentation >

WSDL con un esempio di importazione

< / wsdl:documentation >

< wsdl:types >

&lt;xs:import namespace="http://schemas.myorg.com/person/phone"

schemaLocation= "http://www.myorg.com/supporting/schemas/helloworld.xsd"/>

&lt;xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://schemas.myorg.com/wsdl/helloworld">

&lt;xsd:element name="CallNumber" type="external:Phone"/>

&lt;xsd:element name="HelloResponse" type="xsd:string"/>

&lt;/xsd:schema>

< / wsdl:types >

< wsdl:interface nome = "helloInterface" >

&lt;wsdl:operation name="CallMe"

pattern="http://www.w3.org/ns/wsdl/in-out"

style="http://www.w3.org/ns/wsdl/style/iri">

&lt;wsdl:input messageLabel="In"

element="helloWorld:CallNumber" />

&lt;wsdl:output messageLabel="Out"

element="helloWorld:HelloResponse" />

&lt;/wsdl:operation>

< / wsdl:interface >

< nome: binding = "helloBinding"

interface="hy:helloInterface"

type="http://www.w3.org/ns/wsdl/soap"

wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/">

&lt;wsdl:operation ref="hy:Hello"

wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response"/>

< / WSDL: Binding >

< nome WSDL: Service = "helloService"

interface="hy:helloInterface">

&lt;wsdl:endpoint name="helloEndpoint"

binding="hy:helloBinding"

Indirizzo = "http://www.myorg.com/Service/Hello" / >

< / WSDL: Service >

< / wsdl:description >

Questo markup definisce un WSDL che importa uno schema XML esterno denominato "helloworld.xsd", che contiene lo spazio dei nomi "http://schemas.myorg.com/person/phone."

L'istruzione import in WSDL Importa uno spazio dei nomi XML da un file. Lo scopo primario dell'elemento import è quello di importare lo spazio dei nomi, non per indicare dove si possono trovare le dichiarazioni dello spazio dei nomi. L'elemento include l'attributo facoltativo "schemaLocation". L'attributo è facoltativo perché uno spazio dei nomi possa essere importato dal file stesso o essere registrato in un altro modo. Secondo la specifica WSDL, "schemaLoction" è solo un suggerimento; un parser XML è libero di ignorare la posizione. Se il parser già conosce i tipi di schema in tale spazio dei nomi, o ha un altro meccanismo di trovarli, non è necessario utilizzare il percorso. Tuttavia, in molti casi uno spazio dei nomi è importata che il parser XML non sa nulla di, quindi l'attributo "schemaLocation" diventa necessario, ma tecnicamente è ancora solo un accenno.

Consigli & Avvertenze

  • Sono state introdotte nuove tecnologie come scambio di metadati, MEX, per condividere informazioni su quali funzionalità supporta un servizio, ma tali norme non sono ancora state ampiamente adottate.
  • Supporto di file WSDL include e le importazioni. Essi può sembrare simile, ma si comportano in modo diverso. Un'istruzione import importa un altro spazio dei nomi. Un'istruzione include importa le dichiarazioni di tipo di dati XML in uno spazio dei nomi.