【发布时间】:2011-08-17 22:32:10
【问题描述】:
我正在尝试学习如何构建 Web 服务。我正在尝试做最简单直接的服务,在浪费了我一整天的时间之后,我几乎不知道该做什么了。
我已经正确安装了 Tomcat 6.0 的 Eclipse Indigo(32 位)。在服务器选项卡中,我可以根据需要运行/停止服务器。我还安装了 Axis2 1.6.0 引擎。
这是我的步骤:
1) 新建 Web 动态项目
2) 完成后,单击 Project Properties > Project Facets 并检查 Axis2 Web Services
3) Eclipse 会将所有文件添加到我的项目中。一切似乎都很好。
4) 我会将简单的 Convert.java 文件添加到 Java Resources/src 中(这将是我的 Web 服务)
package wtp;
public class Convert {
public float celsiusToFarenheit ( float celsius )
{
return (celsius * 9 / 5) + 32;
}
public float farenheitToCelsius ( float farenheit )
{
return (farenheit - 32) * 5 / 9;
}
}
5) 右键单击 Convert.java 文件 > Web 服务 > 创建 Web 服务。
我会选择顶部滑块上的启动服务,然后单击下一步
6) Next Window 将向我展示我的两种方法 celsiusToFarenheit 和 farenheitToCelsius。他们都被检查了。我会点击下一步
7) 消息将显示它正在尝试将服务发布到 Tomcat 并且会显示错误:
IWAB0489E 将 Web 服务部署到 Axis 运行时时出错
axis-admin 使用 {http://schemas.xmlsoap.org/soap/envelope/}Client 失败 找不到端点参考 (EPR) http://localhost:8080/MyService/services/AdminService
我的问题:
1) 我该如何解决这个问题?我究竟做错了什么?或者有可能在这几个步骤中做错什么?试图在 Axis2 网站上寻求帮助,但在那里找不到任何有用的东西。
2) 当我点击创建新服务时实际发生了什么?
3) 我来自 .NET 世界,您在其中编写方法,将其声明为 Web 服务,然后在服务器上上传文件......您就完成了。是否可以在 Java 中发布类似的 Web 服务?我真的很讨厌在 Eclipse 中使用任何类型的向导,因为大多数时候它们都不起作用。总是缺少一些东西,我最终失去了几个小时谷歌搜索......
谢谢,
感谢任何帮助。
【问题讨论】:
-
为什么要使用 Axis2?
-
我必须这样做。在工作中,我需要修改一些旧的 Java 项目。最初的程序员使用 Axis2 作为 Web 服务的引擎。当我试图在我的本地服务器上运行他的服务时,问题就开始了。我得到了同样的错误。由于我对编译和发布 Web 服务时发生的情况一无所知,我认为最好的办法是创建简单的测试项目并了解这一点。但创建简单的 HELLO WORLD 网络服务似乎是不可能的。
-
我多次尝试重新安装其他版本的 Eclipse、Tomcat、Ant 和 Axis2,我真的厌倦了……我认为我的环境没有任何问题。
-
使用java 1.6,你可以只使用内置工具,而且更简单。或者使用标准符合性更好的 Apache CXF。