È ansible recuperare un URI nome spazio dei nomi XML?

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.

I namespace sono URI che non devono essere recuperabili

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).

Perché vengono utilizzati gli URI se non devono essere recuperabili?

Da @jww follow-up nei commenti :

Qual è lo scopo di http: se non è recuperabile? Non dovrebbero usare qualcosa di simile a null: 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.

Namespace come endpoint

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.