我試圖用inetc::put
上傳樣式化圖層描述符(名爲.sld),以具有REST風格的端點本地的GeoServer實例。我得到一個錯誤,說我需要設置Content-type,儘管我是。NSIS inetc ::放,不能上傳文件: 「嘗試設置Content-type頭。」
inetc::put /silent /header "Content-type: application/vnd.ogc.sld+xml" "http://username:[email protected]:8080/geoserver/rest/styles/MyNewStyle" "$INSTDIR/MyNewStyle.sld"
Pop $0
DetailPrint "Uploading styled layer descriptor: $0"
這將返回一個HTTP 400(請求錯誤)。服務器日誌有以下說:
ERROR [geoserver.rest] - Could not determine format. Try setting the Content-type header.
org.geoserver.rest.RestletException
at org.geoserver.rest.AbstractResource.getFormatPostOrPut(AbstractResource.java:173)
at org.geoserver.rest.ReflectiveResource.handlePost(ReflectiveResource.java:116)
at org.restlet.Finder.handle(Finder.java:296)
at org.geoserver.rest.BeanDelegatingRestlet.handle(BeanDelegatingRestlet.java:37)
at org.restlet.Filter.doHandle(Filter.java:105)
at org.restlet.Filter.handle(Filter.java:134)
at org.restlet.Router.handle(Router.java:444)
at org.geoserver.rest.RESTDispatcher$1.handle(RESTDispatcher.java:204)
at com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:129)
at org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:86)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
[...]
它並沒有幫助,documentation爲Inetc並不表明/header
是inetc::post
也不inetc::put
可用選項。不過,我證實,我可以使用/header
設置Content-類型inetc::post
請求中的GeoServer創建工作空間和風格。 inetc::put
有一些不同,它要麼需要不同的語法,要麼只是沒有正確實現。
我還沒有發現有人的執行inetc::put
其中它們設置Content-類型的請求的單個例子。我曾試圖把/header
之前,之間和URL
和local_file
後。我可以使用Firefox插件「Poster」執行PUT,並使用cURL。但它不適用於Inetc。
我使用過可我在上面分享的鏈接的最新版本Inetc的。
你試過菲德勒/ Wireshark的,看看到底是哪頭標INetC最終使用? – Anders 2014-12-07 00:12:17
使用Fiddler,我看到頭「Content-Type:octet-stream」。它似乎忽略了我試圖設置爲內容類型標題的內容。 – 2014-12-07 09:20:57