[英]Upload text file to web service
我有以下接受文本文件的方法,並且我試圖將此文本文件上傳到Web服務。 我使用用戶名和密碼。 但我得到一個例外:“遠程服務器返回錯誤:(404)未找到。”。 如果我再次提供用戶名和密碼,則會遇到相同的異常。 我應該怎么做才能克服這個問題?
public static void UploadTextFileToWebService(string txtFile)
{
WebClient webClient = new WebClient();
string webAddress = null;
try
{
webAddress = @"https://www.myweb.org/mywebwebservices/dataupload.asmx";
webClient.Credentials = CredentialCache.DefaultCredentials;
WebRequest serverRequest = WebRequest.Create(webAddress);
WebResponse serverResponse;
serverResponse = serverRequest.GetResponse();
serverResponse.Close();
webClient.UploadFile(webAddress + txtFile, "PUT", txtFile);
webClient.Dispose();
webClient = null;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
您的網絡服務似乎是asmx網絡服務,因此我懷疑您可以按照自己的方式進行上傳。
您需要使用正確的SoapMessage格式來發送正在發送的任何請求。
由於使用的是C#/。Net,最簡單的方法是添加服務引用,該服務引用將創建代理以使您能夠通過對象模型發送請求。
我不確定您是否已在這里找到正確的方法-由於您已經以字符串形式讀取文件,因此您只需將字符串的內容發送到直接接受文本文件內容的網絡方法即可。
因此,在您的服務中,您應該擁有(類似)的東西:
[WebMethod()]
public void AcceptFile(string content)
{
...
}
然后,您調用該方法,並將txtFile變量作為參數傳遞。
parm 1在此行中是錯誤的:
webClient.UploadFile(webAddress + txtFile, "PUT", txtFile);
可能應該是
webClient.UploadFile(webAddress + @"/" + txtFile, "PUT", txtFile);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.