好久么有写webservice了,由于要和其他部门业务交互,就用xfire写了一个,结果报404,如下
org.codehaus.xfire.fault.XFireFault:
Server returned error code = 404 for URI : http://localhost:8080/xft/services/HelloXfire. Check server logs for details
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:83)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at com.sun.proxy.$Proxy0.hello(Unknown Source)
at com.platform.service.test.ServiceTest.main(ServiceTest.java:27)
Caused by: org.codehaus.xfire.XFireRuntimeException: Server returned error code = 404 for URI : http://localhost:8080/xft/services/HelloXfire. Check server logs for details
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:130)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
... 6 more
404以为是少jar,结果是因为少了一个配置,如下:
<service>
<name>HelloXfire</name>
<serviceClass>com.plaftform.service.HelloService</serviceClass>
<implementationClass>com.plaftform.service.impl.HelloServiceimpl</implementationClass>
</service>
</bean>
刚开始没有写 xmlns="http://xfire.codehaus.org/config/1.0"
加上红色部分后就好了,如下
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>HelloXfire</name>
<serviceClass>com.plaftform.service.HelloService</serviceClass>
<implementationClass>com.plaftform.service.impl.HelloServiceimpl</implementationClass>
</service>
</bean>