2016-09-06 2 views
0

Я добавил новое действие в библиотеку документов. Мой класс java распространяетсяAlfresco 5.0 Форматор формы сообщества не поддерживает метод 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()))); 

Вне Alfresco 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 throws org.json.JSONException: JSONObject ["Данные"] не найден. –

+0

Обычно запрос на отправку содержит некоторые данные, и похоже, что процессор формы ожидает, что кто-то узнает, какую форму вам дать. Что произойдет, если взглянуть на одно из многих подобных действий в дереве источников Alfresco и посмотреть, как они это делают? – Gagravarr

ответ

0

И, наконец, проблема возникла из сертификата SSL. Alfresco, чтобы соединение https url должно доверять сертификату ssl. Вы можете добавить SSL в папку Alfresco/java с помощью следующей команды:

keytool -import -alias test.com -file ../test.cer -keystore ../lib/security/cacerts 
Смежные вопросы