我们正在使用SharePoint 2016来存储和检索文件。并使用java httpclient类来做到这一点。现在我们使用以下API来检查文件夹是否已存在。
String folderURI = "/_api/Web/GetFolderByServerRelativeUrl('" + "/<document library/folderpath>" + "')";
e.g : folderpath = test1/type/2007
以下是与SharePoint联系并获取响应的代码。
HttpGet httpget = new HttpGet(finalURL);
httpget.setHeader("Content-Type", "application/octet-stream");
httpget.setHeader("X-HTTP-Method", requestMethod);
httpget.setHeader("Cookie", "rtFa="YqLvkl";FedAuth="uZnxt");
response = httpClient.execute((HttpUriRequest) httpget);
如果文件夹已经存在,我的响应是200,这是正确的。但如果文件夹不存在,我收到500内部服务器错误。而不是这个,我应该得到404 Not Found。我错过了什么为什么同样的API,我得到一个正确的响应(文件夹存在200 ok)和一个内部服务器错误(文件夹不存在500)。
答案 0 :(得分:0)
4xx错误是客户端错误; 5xx错误是服务器错误。
4xx错误意味着您(客户)因您提交请求的方式出错。 5xx错误意味着服务器无法满足明显有效的请求。
404(未找到页面)的响应表示请求的URI本身无效/当前不存在。如果您尝试访问不存在的文件夹的直接路径(而不是通过import os
import sys
def startProc_A():
newpid = os.fork()
if newpid == 0: # this is the child process
orig_env = os.environ['LANG']
a_env = orig_env + 'something_else'
os.environ['LANG'] = a_env
sys.path.append("road_to_nowhere")
func_A()
def func_A():
import module_A
module_A.func_from_module_A()
startProc_A()
URI调用Web服务),这将作为响应有意义。
您请求的URI是有效的Web服务调用,因此404 Not Found不是一个合适的响应。
500(内部服务器错误)是一般响应,表示Web服务器在尝试执行操作时遇到错误。
在这种情况下,错误是由尝试检索不存在的文件夹的Web服务引起的。