我正在尝试从tomEE部署简单的WS示例: http://openejb.apache.org/examples-trunk/simple-webservice/
由于没有什么特别之处,我会详细说明我的所作所为。也许有人看到我做错了什么:
机器:Win7,Eclipse,服务器:tomEE +
- 创建了具有运行时目标的新动态Web项目= tomcat tomEE服务器
在/ src中创建了新的包,并在那里添加了3个类:Calculator
,CalculatorWS
,CalculatorTest
。
-rightclick项目>以>运行在服务器上运行>选择tomEE。
服务器启动,启动http://127.0.0.1:8080/testproject
这导致404,因为我没有设置任何jsf页面。
无论如何,如示例所示,转到http://localhost:8080/testproject/Calculator?wsdl
或http://localhost:8080/testproject/webservices/Calculator?wsdl
,我也找不到404。显然没有部署Web服务?
这个基本而简单的例子可能有什么问题?
答案 0 :(得分:4)
我正在使用eclipse indigo和tomee 1.5.2。我有一个类x.y.z.MyWS。它使用@WebService和@Stateless进行注释。
启动期间的apache tomee日志说
INFO: Webservice(wsdl=http://localhost:8080/MyWebApp/webservices/MyWS, qname={http://z.y.x/}MyWSService) --> Ejb(id=MyWS)
所以WSDL是
http://localhost:8080/MyWebApp/webservices/MyWS?wsdl
请检查您的日志。
答案 1 :(得分:0)
前几天我运行了这个例子,遇到了类似的问题。解决方案实际上是查看日志的catalina日志的Apache Logs文件夹,以及今天日期的stderr文件。他们会告诉您部署是否有效。
就我而言,我使用的是JDEV,因此我删除了@Stateless注释,并尝试将.jar放入webapps文件夹中。 没有工作。然而,把它放回去,放下.jar就可以了。
作为Web应用程序(.war),.class文件被移动到.war文件中的WEB-INF \ classes中,然后将其放入webapps中。我查看了Catalina Log,它说端点在哪里(对于wsdl)。我键入: http://localhost:8080/SimpleWebService/Calculator?wsdl,并出现了WSDL文件。
之后,我用肥皂ui运行了一些简单的Soap Requests。它工作正常。这是1.7.1版本。