通过myeclipse\xfire,简简单单两步建立webservice。
一、创建web service project,填写好相关信息,其中选择xfire组件等。其余按默认即可。
二、创建web service bean,这时,工程文件里会多出service.xml的配置文件。
就这两步,其实正常的话,应该能够发布成功。我说的是正常,是只myeclipse中包括所需的包是完整的。现在有个情况是,我遇到的,记录如下:
Bean class [org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry] not found;
其实这个异常信息很明显。就是找不到org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry这个类。在网查查好多信息,但就是没有关于怎么解决这个问题的。最后,还是发现,原来自己创建的工程中,引用到的包里,确实没有上面提到的这个类文件。所以,抛出异常也是正常的事情啦。最后知道是这个问题,就好找原因了,把xfire-all-1.2.6.jar引入到工程里面,重新发布,问题解决啦。
在这里记录一下,自己没有认真去分析问题出现的原因,致使走了很多弯路才解决了问题。不过还好,在网上搜索信息的过程,也多少了解到了关于webservice的知识。
在创建客户端调用的时候,同样也遇到了一个异常:
org.codehaus.xfire.fault.XFireFault: There must be a method name element.
如果是通过 ObjectServiceFactory、XFireProxyFactory方式来动态生成的,
需要把访问路径的?WSDL去掉,
类似于
http://127.0.0.1:8090/WebServiceTest/services/HelloWebService?wsdl
改成
http://127.0.0.1:8090/WebServiceTest/services/HelloWebService