2016-09-06 60 views
0

我已將新操作添加到文檔庫。我的java類延伸Alfresco 5.0社區formprocessor不支持該方法GET

ActionExecuterAbstractBase 

。裏面的代碼,我做的HttpsURLConnection的和讀取響應這樣的:

URL url = new URL("https://...................................Get?username="+Name+"&password="+Password); 
     HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); 


     if (conn.getResponseCode() != 200) { 
      throw new RuntimeException("Failed : HTTP error code : " 
        + conn.getResponseCode()); 
     } 

     BufferedReader br = new BufferedReader(new InputStreamReader(
      (conn.getInputStream()))); 

外面露天的Java腳本的作品完美,但它裏面引發以下錯誤:

Web Script Status 405 - Method Not Allowed 

The Web Script /alfresco/s/api/action/cosign/formprocessor has responded with a status of 405 - Method Not Allowed. 

405 Description: The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. 

Message: 08060002 Script url /api/action/cosign/formprocessor does not support the method GET 

Exception: org.springframework.extensions.webscripts.WebScriptException - 08060002 Script url /api/action/cosign/formprocessor does not support the method GET 

org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:179) 
org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
java.lang.Thread.run(Thread.java:745) 

Server: Community v5.0.0 (d r99759-b2) schema 8.022 
Time: 6 Σεπ 2016 11:25:36 πμ 

我怎樣才能解決這個問題?

+0

發送一個'POST'而不是'GET'? – Gagravarr

+0

如果我添加這個「conn.setRequestMethod(」POST「);」 java拋出org.json.JSONException:找不到JSONObject [「Data」]。 –

+0

一個post請求通常包含一些數據,它看起來像表單處理器期待有些人知道給你什麼樣的表單。如果您查看Alfresco源代碼樹中的許多類似操作之一,並看看它們是如何實現的,會發生什麼? – Gagravarr

回答

0

最後問題來自SSL證書。 Alfresco爲了使https url連接應該信任ssl證書。您可以使用以下命令在Alfresco/java文件夾中添加SSL:

keytool -import -alias test.com -file ../test.cer -keystore ../lib/security/cacerts