我们通过WSO2 Application Server(AS)包使用WSO2 Carbon 4.2.0。在更换旧的,高度定制的碳装置(由不再支持该产品的公司提供,已经放弃并拒绝使用它,并且没有详细说明他们如何/在Carbon中修改了什么)时,我们已经部署了将Web应用程序放在webapps容器中,因为它们之前已部署在旧实例中。我们已将carbon.xml中的WebContextRoot从默认的“/”更改为ex:“/ stuff”的子URL,这也在自回答的SO问题here中有详细说明。然而,那里给出的答案并未详细说明OP在修改他的WSO2实例时实际遇到的情况。
在测试上述配置时,我们注意到如果用户要转到服务器上不存在的网址,取决于网址的格式:
获取XML文档说明:
<faultString> The service cannot be found for the endpoint reference (EPR) /stuff/services/nonexistantservicename </faultString>
至少在缺少内容的情况下,我们希望将用户发送到标准化的404错误页面,或者至少由服务器发送HTTP 404错误。对于服务,XML错误是可口的,我们可以处理它。
我们现在唯一可以解决此问题的方法是在WSO2实例前放置一个代理,这将是另一个管理和调整层,并可能降低性能。请注意,我不是程序员,只是具有DevOps经验的管理员。我不知道如何用例如Java解决方案或重新编码WSO2的部分。定制核心产品也会妨碍WSO2的未来升级,我们正在努力挖掘自己的情况,如上所述。是否没有内部WSO2机制来处理不存在的内容?我们可以不将任何错误重定向到标准的固定响应页面吗?