【发布时间】:2015-12-14 20:45:39
【问题描述】:
我在 Windows 2012 R2 服务器上运行了 WSO2 API 管理器,并且所有仪表板 URL (如 https://localhost:9443/store、https://localhost:9443/carbon、https://localhost:9443/publisher)都可以正常工作。但是当我配置和部署(在 carbon.super 租户中)示例 WeatherAPI Web 服务并尝试通过 /services/... URL 访问它时,即:
https://localhost:9443/services/weather/1.0.0/*?q=Amsterdam
我得到以下错误页面返回:
> HTTP Status 500 -
>
>
> type Exception report
>
> message
>
> description The server encountered an internal error that prevented it
> from fulfilling this request.
>
> exception org.apache.axis2.AxisFault
> org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
> org.wso2.carbon.core.transports.CarbonServlet.doGet(CarbonServlet.java:155)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
>
>
>
> root cause java.lang.NullPointerException
> org.apache.synapse.rest.RESTUtils.getFullRequestPath(RESTUtils.java:80)
> org.apache.synapse.rest.API.canProcess(API.java:179)
> org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:79)
> org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:64)
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:220)
> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837)
> org.wso2.carbon.core.transports.CarbonServlet.handleRestRequest(CarbonServlet.java:303)
> org.wso2.carbon.core.transports.CarbonServlet.doGet(CarbonServlet.java:152)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
当我在租户中创建自己的 Web 服务并部署它时,我遇到了同样的错误。所以我可能错误地配置了一些东西,但不知道在哪里看。
/services/... 下面的所有路径似乎都返回了这个错误页面。我检查了[WSO2]/repository/logs 目录中的日志文件,但它们没有显示任何错误。
【问题讨论】: