我正在尝试学习如何构建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服务。
我会在顶部的滑块上选择“启动服务”,然后单击“下一步”。
6)Next Window将向我展示我的两种方法celsiusToFarenheit和farenheitToCelsius。他们都被检查。我将点击“下一步”
7)消息将显示它正在尝试将服务发布到Tomcat并显示错误:
IWAB0489E将Web服务部署到Axis运行时时出错
axis-admin失败,出现{http://schemas.xmlsoap.org/soap/envelope/}客户端找不到端点引用(EPR)http://localhost:8080/MyService/services/AdminService的服务
我的问题:
1)我该如何解决?我究竟做错了什么?还是在这几个步骤中可能做错什么?试图在Axis2网站上寻求帮助,但找不到任何有用的信息。
2)当我单击创建新服务时,实际上发生了什么?
3)我来自.NET世界,您在其中编写方法,将其声明为Web服务,然后将文件上传到服务器上......是否可以用Java发布Web服务?我真的很讨厌在Eclipse中使用任何类型的向导,因为大多数时候它们都不起作用。总是缺少一些东西,而我最终却失去了数小时的谷歌搜索...。
谢谢,
任何帮助表示赞赏。
最佳答案
这是解决方案。
为了解决这个问题,我不得不将服务器运行时更改为Axis2(添加Axis2构面时Eclipse会警告您有关此信息,但事实并非如此)。为此,请转到“窗口”菜单,选择“首选项”>“ Web服务”>“服务器和运行时”。选择您的服务器(在本例中为Tomcat 5.5),然后选择Apache Axis2作为Web服务运行时。
您可以在此处找到解决方案http://www.psuedoguru.com/roller/page/psuedoblog?entry=problems_with_wsdl_first_web
关于java - 如何创建Axis2 Web服务?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7100326/