我正在尝试学习如何构建Web服务。我正在努力做最简单的直接服务,经过一整天的浪费时间,我几乎不知道该怎么做。
我正确安装了Tomcat 6.0的Eclipse Indigo(32位)。在服务器选项卡中,我可以根据需要运行/停止服务器。我还安装了Axis2 1.6.0引擎。
以下是我的步骤:
1)新的Web动态项目
2)完成后,单击“项目属性”>项目构面并检查Axis2 Web服务
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服务。
我会在顶部的滑块上选择Start Service,然后单击NEXT
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中使用任何类型的向导,因为大多数时候它们都不起作用。总是缺少一些东西,我最终失去了谷歌搜索....
谢谢,
感谢任何帮助。
答案 0 :(得分:8)
以下是解决方案。
要解决这个问题,我必须将服务器运行时更改为Axis2(Eclipse应该在添加Axis2方面时向您发出警告,但事实并非如此)。通过转到窗口菜单,选择首选项> Web服务>服务器和运行时。选择你的服务器(在我的例子中是Tomcat 5.5),然后选择Apache Axis2作为web服务运行时。
您可以在http://www.psuedoguru.com/roller/page/psuedoblog?entry=problems_with_wsdl_first_web
找到解决方案答案 1 :(得分:2)
这是因为在Web服务运行时的上一页值(默认)“到Apache Axis。
点击“返回”按钮,将选项更改为“ Apache Axis2 ”,您就可以了。
答案 2 :(得分:0)
为了澄清Bhanwra亲王写的更多内容,你必须做的是: - 选择你的java文件 - 右键单击并选择“新建/其他/ Web服务”,然后单击“下一步” - 在下一页上,查看配置。确保您使用的是Apache Axis2。在我的情况下,我有相同的错误,它显示Web服务运行时:Apache Axis。您只需单击它以选择Axis2。
在此页面上,您将拥有屏幕以及有关如何创建客户端以进行测试的更多信息。 http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html