Élément d'en-tête sqloptions:hostname
L'option de connexion sqloptions:hostName permet au client de spécifier le nom d'hôte de la connexion, par exemple :
<SOAP-ENV:Header
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<sqloptions:hostname
SOAP-ENV:mustUnderstand="1"
value="hostName"/>
</SOAP-ENV:Header>
L'option de connexion sqloptions:hostName apparaît sous forme d'en-tête SOAP. Elle est composée d'un seul élément nommé sqloptions:hostName. L'élément possède un attribut obligatoire, value, qui est une valeur texte. Il permet de définir host name
pour la connexion. Il est affiché dans la colonne hostname de la vue de compatibilité sys.sysprocesses.
Une seule instance de l'option sqloptions:hostName peut apparaître dans une demande. L'option ne peut pas apparaître dans une réponse. Plusieurs instances de l'option produisent une erreur.
Le serveur peut restreindre l'intervalle des valeurs reconnues de la valeur sqloptions:hostName. Si un client envoie une valeur en dehors de l'intervalle permis, le serveur tronque en mode silencieux la valeur de manière non définie.
En cas d'utilisation de sessions SOAP, cette option doit apparaître dans la même demande que l'attribut sqloptions:sqlsession initiate. Si cette option apparaît dans une demande dont l'en-tête sqloptions:sqlSession ne contient pas l'attribut initiate, une erreur est générée.
Le code suivant est un fragment de schéma pour l'option sqloptions:hostName :
<xs:element name="hostName" form="qualified">
<xs:annotation>
<xs:documentation>
Set the host name for the login.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute use="required" name="value" type="xs:string" form="unqualified">
<xs:annotation>
<xs:documentation>
The host name to set for the login.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
Exemples
Les exemples ci-dessous illustrent l'utilisation de l'en-tête sqloptions:hostname
dans les messages de demande et de réponse SOAP.
Demande
<SOAP-ENV:Envelope xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sqlparam="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlParameter"
xmlns:sqlsoaptypes="https://schemas.microsoft.com/sqlserver/2004/SOAP/types"
xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
<SOAP-ENV:Header>
<sqloptions:hostName SOAP-ENV:mustUnderstand="1" value="recep35" />
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<sql:sqlbatch>
<sql:BatchCommands>
SELECT hostname FROM sysprocesses
WHERE spid=@@spid AND hostName='recep35'
</sql:BatchCommands>
</sql:sqlbatch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Réponse
<SOAP-ENV:Envelope xml:space="preserve"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:sql="https://schemas.microsoft.com/sqlserver/2004/SOAP"
xmlns:sqlsoaptypes="https://schemas.microsoft.com/sqlserver/2004/SOAP/types"
xmlns:sqlrowcount="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount"
xmlns:sqlmessage="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage"
xmlns:sqlresultstream="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream"
xmlns:sqltransaction="https://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction"
xmlns:sqltypes="https://schemas.microsoft.com/sqlserver/2004/sqltypes">
<SOAP-ENV:Body>
<sql:sqlbatchResponse>
<sql:sqlbatchResult>
<sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet">
<diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<SqlRowSet1 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
<row>
<hostname>recep35</hostname>
</row>
</SqlRowSet1>
</diffgr:diffgram>
</sqlresultstream:SqlRowSet>
<sqlresultstream:SqlRowCount xsi:type="sqlrowcount:SqlRowCount">
<sqlrowcount:Count>1</sqlrowcount:Count>
</sqlresultstream:SqlRowCount>
</sql:sqlbatchResult>
</sql:sqlbatchResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>