Linee guida e limitazioni per i servizi Web XML nativi
Data aggiornamento: 17 luglio 2006
Le linee guida e le limitazioni seguenti si applicano alle richieste relative ai servizi Web XML nativi:
- Quando una sessione SOAP senza nome, che esiste solo per la durata di una singola richiesta, richiede la notifica della transazione e include l'istruzione BEGIN TRANSACTION ma non l'istruzione COMMIT TRANSACTION o ROLLBACK TRANSACTION, il server esegue il rollback della transazione, ma non include il nodo di notifica del rollback della transazione nella risposta SOAP.
- Il supporto per i servizi Web XML nativi è disponibile solo su istanze di SQL Server 2005 in esecuzione sulle versioni del sistema operativo Windows che supportano l'API HTTP (Http.sys). Se si tentano di distribuire i servizi Web XML nativi su un'istanza di SQL Server che non soddisfa questo requisito e non supporta Http.sys, le operazioni DDL (Data Definition Language) genereranno un errore e non si verificherà alcuna attesa nativa.
- Se l'istanza di SQL Server è in esecuzione in Windows XP, potrebbe non essere possibile creare correttamente gli endpoint. Ad esempio, se Internet Information Services (IIS) è in esecuzione, il tentativo di eseguire un'istruzione CREATE ENDPOINT avrà esito negativo e verrà restituito l'errore seguente: "Errore ('0x80070020') durante il tentativo di registrare l'endpoint 'endpointName'."
Questo errore indica un conflitto di elaborazione tra l'istanza di SQL Server e IIS che si verifica in quanto IIS è in attesa sulla porta 80 in Windows XP. Per risolvere questo problema, eseguire le operazioni seguenti:- Interrompere il servizio Web
- Eseguire un nuovo tentativo di esecuzione di CREATE ENDPOINT utilizzando un numero di porta diverso da 80.
- È possibile configurare gli endpoint perché utilizzino più porte, ma non specificare due porte dello stesso tipo. Ad esempio, è possibile specificare una porta non protetta e una porta SSL, ma non due porte non protette o due porte SSL.
- Le funzioni definite dall'utente valutate a livello di tabella non sono supportate.
- SOAP non supporta l'esposizione di stored procedure estese come metodi Web.
- Non è possibile disabilitare endpoint non HTTP (lo stato di un endpoint può essere impostato su disabilitato solo per endpoint HTTP).
- Sebbene la specifica SOAP escluda in modo esplicito le istruzioni di elaborazione XML nelle richieste e nelle risposte SOAP, SQL Server 2005 non prevede questa limitazione. Se le istruzioni di elaborazione (PI) sono presenti nella busta di una richiesta SOAP, il server le ignora. Se le PI sono visualizzate nel contenuto di un parametro XML, vengono rese persistenti come parte dei dati XML. Le risposte SOAP non dovrebbero includere istruzioni di elaborazione a meno che siano parte di un parametro XML recuperato. Una delle implicazioni di questo comportamento consiste nel fatto che le applicazioni client SOAP potrebbero non accettare un valore dell'istanza della riga con tipo di dati xml che include PI, oppure potrebbero eliminare le PI incluse nell'XML tipizzato restituito da SQL Server. Se questo rappresenta uno scenario importante, è possibile generare servizi Web che convertono qualsiasi tipo di dati xml in tipi NVarChar o VarBinary prima che il servizio li restituisca ai client SOAP.
- Per una maggiore interoperabilità con Visual Studio 2005, verificare che eventuali spazi dei nomi utilizzati nei metodi Web degli endpoint siano diversi da quelli utilizzati con gli schemi dei tipi di dati xml anch'essi in uso sull'endpoint.
- I risultati WSDL restituiti da un endpoint possono includere uno schema XSD non valido, ad esempio nel caso in cui un singolo spazio dei nomi venga importato più volte in uno degli scenari seguenti:
L'endpoint include più parametri di tipo XML che fanno riferimento a insiemi di schemi diversi, ognuno dei quali definisce lo stesso spazio dei nomi.
L'endpoint include un parametro di tipo XML che fa riferimento a un URI dello spazio dei nomi predefinito per l'utilizzo con i servizi Web XML nativi in SQL Server 2005. Tra gli URI dello spazio dei nomi predefiniti ai quali questo scenario potrebbe applicarsi sono inclusi quelli elencati nella tabella seguente.
Prefisso URI dello spazio dei nomi sql
https://schemas.microsoft.com/sqlserver/2004/SOAP
sqloptions
https://schemas.microsoft.com/sqlserver/2004/SOAP/Options
sqlsoaptypes
https://schemas.microsoft.com/sqlserver/2004/SOAP/types
sqlmessage
https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage
sqlparameter
https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlParameter
sqlresultstream
https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream
sqlrowcount
https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount
sqltransaction
https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction
sqltypes
https://schemas.microsoft.com/sqlserver/2004/sqltypes
xml
http://www.w3.org/XML/1998/namespace
xsd
http://www.w3.org/2001/XMLSchema
xsi
http://www.w3.org/2001/XMLSchema-instance
Vedere anche
Riferimento
Impostazione del server per l'attesa delle richieste di servizi Web XML nativi
Struttura dei messaggi di richiesta e di risposta SOAP
Applicazioni di esempio per l'invio di richieste ai servizi Web XML nativi
Altre risorse
CREATE ENDPOINT (Transact-SQL)
Sviluppo di applicazioni client
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
17 luglio 2006 |
|