Dws.CanCreateDwsUrl メソッド (websvcDocumentWorkspace)
サーバー上に指定された URL でドキュメント ワークスペース サイトを作成するための適切な権限をユーザーが持っているかどうかを決定します。
名前空間: websvcDocumentWorkspace
アセンブリ: STSSOAP (stssoap.dll 内)
構文
'宣言
<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
'使用
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
)
パラメータ
- url
String。新しいドキュメント ワークスペース サイト用に指定された URL。
戻り値
成功した場合は、<Result>{proposed URL}</Result>
の形式で URL を返す文字列。
メモ : |
---|
この URL は、「Remarks」の説明に従って変更される場合があります。 |
例外
例外の種類 | 条件 |
---|---|
HTTP error code 401 |
ユーザーは適切な権限を持っていません。 |
備考
CanCreateDwsUrl メソッドは、サーバー上に指定された URL でドキュメント ワークスペース サイトを作成するための適切な権限をユーザーが持っているかどうかを決定します。このメソッドは、無効な文字を置き換え、必要に応じて指定された URL を短くし、数値インデックスを末尾に追加して URL を一意にした後、指定された URL を返します。たとえば、指定された URL My_New_Site が既に存在する場合、CanCreateDwsUrl メソッドは My_New_Site(1) を返します。
ユーザーが適切な権限を持っていない場合、HTTP エラー応答は例外をスローします。
例
以下のコード例では、CanCreateDwsUrl メソッドによって返された、新しいドキュメント ワークスペース サイト用に指定された URL を表示します。
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);
}
以下のヘルパ関数の例は、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();
}