首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Geoserver返回405:不允许方法

Geoserver返回405:不允许方法
EN

Stack Overflow用户
提问于 2016-05-23 11:24:19
回答 1查看 628关注 0票数 0

我试图在C#中创建一个Geoserver客户端。下面是示例代码:

代码语言:javascript
复制
private static string GEOSERVER_HOST = "http://10.0.0.248:8080/geoserver/rest/";
private static string GEOSERVER_USER = "admin";
private static string GEOSERVER_PASSWD = "geoserver";

public WebResponse PerformRequest(string endPoint, string requestBody, string method = "PUT")
{
    string gUrl = GEOSERVER_HOST + endPoint;
    WebRequest request = WebRequest.Create(gUrl);

    request.ContentType = "text/xml";
    request.Method = method;
    request.Credentials = new NetworkCredential(GEOSERVER_USER, GEOSERVER_PASSWD);

    if (method != "GET")
    {
        byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes(requestBody);
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(buffer, 0, buffer.Length);
        requestStream.Close();
    }
    WebResponse response = request.GetResponse();

    return response;
}

public bool AddNewWorkspace(string workspaceName)
{
    try
    {
        PerformRequest("workspaces", "<workspace><name>"+ workspaceName+"</name></workspace>");
        return true;
    }
    catch (Exception ex)
    {
        return false;
    }
}

执行request.GetResponse()时,将返回“405:不允许的方法”异常。

我正在使用一个相当新的Geoserver (我相信它是2.8)。选择默认安装选项。REST功能是打开的(我可以使用浏览器浏览/rest/“目录”。

Geoserver正在32位Windows 8机器上运行。而Geoserver开始了。

我也可以毫无问题地执行GET请求,所以身份验证似乎是有效的。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 11:40:31

HTTP/1.1 405 Method Not Allowed通常指请求方法/动词。

您的参数method的默认值为"PUT",在调用PerformRequest时不重写该值。

/geoserver/rest/workspaces似乎不支持PUT操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37389715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档