Dws.CanCreateDwsUrl - Méthode
Détermine si l'utilisateur a des droits suffisants pour créer un site espace de travail de Document avec l'URL proposée sur le serveur.
Espace de noms : WebSvcDWS
Assembly : STSSOAP (dans STSSOAP.dll)
Syntaxe
'Déclaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/dws/CanCreateDwsUrl", RequestNamespace := "https://schemas.microsoft.com/sharepoint/soap/dws/", _
ResponseNamespace := "https://schemas.microsoft.com/sharepoint/soap/dws/", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function CanCreateDwsUrl ( _
url As String _
) As String
'Utilisation
Dim instance As Dws
Dim url As String
Dim returnValue As String
returnValue = instance.CanCreateDwsUrl(url)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/dws/CanCreateDwsUrl", RequestNamespace = "https://schemas.microsoft.com/sharepoint/soap/dws/",
ResponseNamespace = "https://schemas.microsoft.com/sharepoint/soap/dws/",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public string CanCreateDwsUrl(
string url
)
Paramètres
url
Type : System.StringString. L'URL proposée pour le nouveau site d'espace de travail de Document.
Valeur renvoyée
Type : System.String
Chaîne qui retourne l'URL dans le format <Result>{proposed URL}</Result> lors de la réussite.
Notes
L'URL peut être modifiée comme indiqué dans Remarks.
Exceptions
Exception | Condition |
---|---|
[HTTPerrorcode401] | L'utilisateur ne dispose pas de droits suffisants. |
Remarques
La méthode CanCreateDwsUrl détermine si l'utilisateur a des droits suffisants pour créer un site espace de travail de Document avec l'URL proposée sur le serveur. Cette méthode retourne l'URL proposée après le remplacement des caractères non autorisés, en raccourcissant le l'URL proposée en tant que de besoin et en ajoutant un index numérique si nécessaire pour rendre l'URL unique. Par exemple, si l' URL proposée My_New_Site existe déjà, la méthode CanCreateDwsUrl renvoie My_New_Site(1).
Lorsque l'utilisateur ne dispose pas de droits suffisants, la réponse d'erreur HTTP lève une exception.
Exemples
L'exemple de code suivant affiche l'URL suggéré pour le nouveau site d'espace de travail de Document tel que retourné par la méthode CanCreateDwsUrl .
Try
Dim strResult As String
strResult = dwsWebService.CanCreateDwsUrl("site_name")
Console.WriteLine("Result of CanCreate operation: {0}", strResult)
If IsDwsErrorResult(strResult) Then
Dim intErrorID As Integer
Dim strErrorMsg As String
Call ParseDwsErrorResult(strResult, intErrorID, strErrorMsg)
MessageBox.Show("A document workspace error occurred." & vbCrLf & _
"Error number: " & intErrorID.ToString & vbCrLf & _
"Error description:" & strErrorMsg, _
"DWS Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
Dim strSuggestedUrl As String
strSuggestedUrl = ParseDwsSingleResult(strResult)
MessageBox.Show("User has permission to create: " & _
vbCrLf & strSuggestedUrl, _
"CanCreateDwsUrl", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
End If
Catch exc As Exception
MessageBox.Show("An exception occurred." & vbCrLf & _
"Description: " & exc.Message, _
"Exception", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
try
{
string strResult = "";
strResult = dwsWebService.CanCreateDwsUrl("site_name");
if (IsDwsErrorResult(strResult))
{
int intErrorID = 0;
string strErrorMsg = "";
ParseDwsErrorResult(strResult, out intErrorID, out strErrorMsg);
MessageBox.Show
("A document workspace error occurred.\r\n" +
"Error number: " + intErrorID.ToString() + "\r\n" +
"Error description: " + strErrorMsg,
"DWS Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
string strSuggestedUrl = ParseDwsSingleResult(strResult);
MessageBox.Show
("User has permission to create: \r\n" +
strSuggestedUrl,
"Create DWS", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
catch (Exception exc)
{
MessageBox.Show("An exception occurred.\r\n" +
"Description: " + exc.Message,
"Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Les exemples de fonctions d'assistance suivants sont utilisés dans les exemples de code fournis pour chaque méthode du service Document Workspace .
Private Function IsDwsErrorResult(ByVal ResultFragment As String)
As Boolean
Dim srResult As System.IO.StringReader =
New System.IO.StringReader(ResultFragment)
Dim xtr As System.Xml.XmlTextReader =
New System.Xml.XmlTextReader(srResult)
xtr.Read()
If xtr.Name = "Error" Then
Return True
Else
Return False
End If
End Function
Private Sub ParseDwsErrorResult(ByVal ErrorFragment As String,
ByRef ErrorID As Integer, ByRef ErrorMsg As String)
Dim srError As System.IO.StringReader =
New System.IO.StringReader(ErrorFragment)
Dim xtr As System.Xml.XmlTextReader =
New System.Xml.XmlTextReader(srError)
xtr.Read()
xtr.MoveToAttribute("ID")
xtr.ReadAttributeValue()
ErrorID = xtr.Value
ErrorMsg = xtr.ReadString()
End Sub
Private Function ParseDwsSingleResult(ByVal ResultFragment
As String) As String
Dim srResult As System.IO.StringReader =
New System.IO.StringReader(ResultFragment)
Dim xtr As System.Xml.XmlTextReader =
New System.Xml.XmlTextReader(srResult)
xtr.Read()
Return xtr.ReadString()
End Function
private bool IsDwsErrorResult(string ResultFragment)
{
System.IO.StringReader srResult =
new System.IO.StringReader(ResultFragment);
System.Xml.XmlTextReader xtr =
new System.Xml.XmlTextReader(srResult);
xtr.Read();
if (xtr.Name == "Error")
{
return true;
}
else
{
return false;
}
}
private void ParseDwsErrorResult(string ErrorFragment, out int ErrorID,
out string ErrorMsg)
{
System.IO.StringReader srError =
new System.IO.StringReader(ErrorFragment);
System.Xml.XmlTextReader xtr =
new System.Xml.XmlTextReader(srError);
xtr.Read();
xtr.MoveToAttribute("ID");
xtr.ReadAttributeValue();
ErrorID = System.Convert.ToInt32(xtr.Value);
ErrorMsg = xtr.ReadString();
}
private string ParseDwsSingleResult(string ResultFragment)
{
System.IO.StringReader srResult =
new System.IO.StringReader(ResultFragment);
System.Xml.XmlTextReader xtr =
new System.Xml.XmlTextReader(srResult);
xtr.Read();
return xtr.ReadString();
}