Ho i seguenti tag sul mio WSDL:
I tipi sono quindi qualificati per essere negli spazi dei nomi s0, s1 ….
La domanda è se lo spazio dei nomi endpoint (= “http: // xxxxx / ws”) deve essere un url valido?
Se l’endpoint non esiste più, significa che è necessario rigenerare nuovamente il proxy stub per il servizio Web?
Nota : l’endpoint del servizio Web è diverso da quello degli spazi dei nomi e continua a esistere.
Dalla domanda @jww:
La domanda è se lo spazio dei nomi endpoint (= “http: // xxxxx / ws”) deve essere un url valido?
No, uno spazio dei nomi XML assume la forma lessicale di un URI ma non deve essere recuperabile secondo la Raccomandazione W3C: Namespace in XML 1.0 (Terza edizione) :
Il valore normalizzato dell’attributo DEVE essere un riferimento URI – il nome dello spazio dei nomi che identifica lo spazio dei nomi – o una stringa vuota. Il nome dello spazio dei nomi, per servire allo scopo previsto, DOVREBBE avere le caratteristiche di unicità e persistenza. Non è un objective che sia direttamente utilizzabile per il recupero di uno schema (se esiste).
Da @jww follow-up nei commenti :
Qual è lo scopo di
http:
se non è recuperabile? Non dovrebbero usare qualcosa di simile anull:
per segnalare il suo privato? Altrimenti, come fanno le persone come me a sapere quando sono private e quando sono deprecate o ritirate? Immagino che cosa sto chiedendo, qual è il meccanismo di segnalazione?
Molti, incluso me stesso, raccomandano davvero che l’URI dello spazio dei nomi sia recuperabile come documento o come XSD di riferimento. Tuttavia, come mostrato sopra, non è richiesto. Inoltre, un processore XML conforms e in grado di convalidare non deve necessariamente riportare quando un nome di spazio dei nomi non è un URI :
Per conformarsi a questa specifica, un processore DEVE segnalare violazioni della ben formata namespace, con l’eccezione che non è OBBLIGATORIO controllare che i nomi dello spazio dei nomi siano riferimenti URI [ RFC3986 ].
Per questo motivo, a volte viene visualizzato un non-URI utilizzato nei nomi di spazi dei nomi, in particolare per gli esempi rapidi e di eliminazione. (Howeiver, probabilmente è meglio usare http://www.example.org/topic
in questi casi per essere corretto.)
Gli URI vengono utilizzati perché rappresentano un meccanismo utile per esprimere l’unicità di una risorsa con una specifica dell’autorità incorporata : il proprietario del dominio è responsabile per gli spazi dei nomi definiti utilizzando il dominio.
Da @jww follow-up nei commenti :
Se l’endpoint non esiste più, vuol dire che dobbiamo rigenerare nuovamente il proxy stub per il servizio web?
No, e non dovresti nemmeno fare riferimento allo spazio dei nomi come endpoint. La recuperabilità del nome dello spazio dei nomi URI non ha alcuna rilevanza in qualsiasi momento sulla specifica o sul funzionamento del servizio Web.