解决IWAB0489E Error when deploying Web service to Axis runtime

Web Eclipse 应用服务器 WebService SOAP 

eclipse europa自带web工具。我们可以使他生成动态web程序。但是在默认情况下,生成的动态默认程序是不包含web service相关依赖的。因此

              在生成工程的时候,在Projet Facets对话框步骤勾选Axis2 Web Service 选项

即可生成具有web service相关依赖的工程。

 

当生成后,也许会使自己有些失望,“怎么会报错呢?”。如果你真的遇到了,那你就又可以长一些知识了。因为eclipse并没有带Axis的本身。因此我们需要下载axis,并使eclipse的webservice设置与之联系。我下载的是axis2   1.4版本。解压到自己希望的目录,然后

               菜单“Windows”---->“Preferences...”--->产开左边 “Web Service”节点--->选择“Axis2 Preferences”项目--->在右侧“Axis2 Runtime”标签下设定Axis2 Runtime Location

在上面设置我们刚下载并解压的axis2   1.4就可以了。

 

经过上面的步骤,我们便知道怎样成功的建立一个带有web service相关依赖的动态web项目。等我们建立了一个项目以后,我们就可以试着写一个java类,并把它发布成web service。如写类如下:

Java代码
  1. package  test;  
  2.   
  3. public   class  HelloWorld {  
  4.   
  5.     public  String hello(String name) {  
  6.         return  name +  "说:你好世界" ;  
  7.     }  
  8.       
  9. }  
Java代码 复制代码  收藏代码
  1. package test;   
  2.   
  3. public class HelloWorld {   
  4.   
  5.     public String hello(String name) {   
  6.         return name + "说:你好世界";   
  7.     }   
  8.        
  9. }  
package test;

public class HelloWorld {

	public String hello(String name) {
		return name + "说:你好世界";
	}
	
}

 那么到底怎么发布他呢。如果你看了axis的相关文档,上面介绍了n多方式。如果没有耐心的话,肯定会看糊涂的。还好我们用工具就是为了方便。不妨右键单击刚才写的HelloWorld类试试(在Java EE试图下)。你可以找到“Web Services”选项并在它的字菜单中,点选Create Web service。好了,按照对话框向导和你的意图,你也许会认为会很顺利的完成。但结果可能不是那样的。你极有可能遇到一个代号为IWAB0489E的异常。具体如下

 

IWAB0489E Error when deploying Web service to Axis runtime
  axis-admin failed with  {http://schemas.xmlsoap.org/soap/envelope/}Client The service cannot be found for the endpoint reference (EPR) http://localhost:8080/WebServiceTest/services/AdminService

 

不要气馁,我也遇到了,而且在网上查找资料的时候,发现很多老外也遇到了。大概是这个工具国人用的不多,资料鲜有。而且一些境外的英文技术论坛上说的也是乱七八糟的。我也不在这多说,直接说解决办法

                  在生成webservice的第一个对话框中点选Confingration下面的链接--->在弹出的对话框中点选“Apache Axis2”--->点ok回到远对话框后勾选“Publish the Web service”,“Monitor the Web services”选项

好了,现在知道出现异常的原因了吧,就是eclipse默认按照axis的规则,而不是axis2的规则生成。而我们用的是axis2。第二个箭头后面的是让你在生成web service后就直接发布了,并且可以使我们的监视程序监测到它。

 

好了,基本上按照eclipse的向导一直往下走,也就不会出什么问题了。当发布完了,相信我们的服务器是打开着的,这时可以在浏览器里试试我们的发布是否成功,

登陆(注意WebsServiceTest是我建的动态web工程名字

http://localhost:8080/WebServiceTest/services/listServices 看是否监测程序已经监测到了我们刚写的Hello World web 服务。

登陆

http://localhost:8080/WebServiceTest/services/HelloWorld?wsdl 看生成的wsdl内容。

登陆

http://localhost:8080/WebServiceTest/services/HelloWorld/hello?name=zhangyt 看我们的web service返回的信息。这时会开到内容如下

Xml代码
  1. < ns:helloResponse   xmlns:ns = "http://test" >   
  2. < ns:return > zhangyt说:你好世界 ns:return >    
  3. ns:helloResponse >   
Xml代码 复制代码  收藏代码
  1. <ns:helloResponse xmlns:ns="http://test">  
  2. <ns:return>zhangyt说:你好世界ns:return>    
  3. ns:helloResponse>  

这是很激动人心的,因为这个测试发现我们的web service在工作了,而且返回了我们想要的东西。

 

 

好了,我的这个叙述其实可以说只是突出了应用eclipse写web服务的入门注意点。其实就是说工具怎么使用。会用工具写web service,并不一定真正理解之。相信很多人如果一离开eclipse,将有很多事情不能做。所以,有些功课是要在应用以外的时间做好的。要知其所以然,就要参阅这方面的相关资料了。

 

转自:http://yangzb.iteye.com/blog/327016

你可能感兴趣的:(解决IWAB0489E Error when deploying Web service to Axis runtime)