web-services - 代号一:网络服务不可用
问题描述
我使用 CN1 Webservice Wizard 将 Web 服务代理添加到我的移动应用程序并生成所有服务器端代码。我有一个本地 XAMPP 安装,并在我的 Eclipse IDE 中链接了一个 tomcat。此外,我将服务器生成的代码作为新的 Java 项目导入,并向其中添加了“动态 Web 模块”项目方面,这样我就可以将其作为本地 Java 应用程序而不是在 Tomcat 服务器上启动。
在启动我的客户时,我注意到我得到HTTP 404
, resource not found 错误。我将错误追溯到服务器所在的 URL。我知道我必须urlPatterns
在生成的类中调整参数CN1WebServiceServlet
,我这样做了。此外,我在 Web 项目设置中检查了我的应用程序的上下文,并为context root
. 因此,在我的客户端应用程序中,调用服务的 URL 应该是
http://localhost:8080/< context root>/< urlPattern>
但是,即使在浏览器中调用它,我也应该得到doGet
服务器生成代码方法的结果,显示消息“Webservice access only”。相反,我一直收到 404 错误。
将服务器生成的代码作为纯 Java 项目导入并随后将 Web 部件添加到其中是否存在问题?在理想情况下如何做到这一点?还有哪些其他问题可能会阻碍 URL 在服务器端正确发布?
谢谢和最好的问候
编辑
我从项目中剥离了所有内容以限制选项,我找到了原因:当使用 Web 服务向导将源文件转储到新目录中时,使用 Eclipse 导入向导添加它,它将被视为一个普通的 java 项目没有任何网络组件。使用项目设置向其中添加动态 Web 片段(Eclipse 调用这些项目方面),CN1 Web 服务将不起作用。
相反,如果您先创建“动态 Web 项目”,然后使用 CN1 Web 服务向导将服务器源文件转储到该项目的“src”文件夹中,则它可以正常工作。
解决方案
推荐阅读
- c# - ScrollView 在 Xamarin Forms 中的另一个 ScrollView 内
- javascript - React Native:没有创建 Firebase App '[DEFAULT]' - 调用 Firebase App.initializeApp() (app/no-app)
- python - matplotlib plot_surface 颜色图不随 z 轴缩放
- reactjs - 单击anychart中的任何堆积柱形图时如何获取系列名称?
- c - GStreamer:根据条件将数据写入文件的管道
- c# - 在 wpf .net 核心应用程序中以应用程序为中心的 StackPanel 的特定元素
- arrays - 根据id重新排列php多维数组
- c# - 集成 OpenAPI / Swagger 时出现命令“dotnet ...”错误
- javascript - 如何选择具有三元条件的默认下拉选项?
- r - 具有可变治疗交互作用的每个治疗组的 C 指数