调用WebServices超级郁闷的问题,Could not find a service to invoke!

苜蓿草茸茸 2007-07-16 04:33:16
最近作一个项目用到Webservices,我碰到一个很奇怪的问题。
我用的是MyEclipse 5.0.1,他里面集成了用XFire发布Webservices.
当我发布一个webservices接口(IObject)后,我用MyEclipse自带的WebServices浏览器调用这个服务就没有问题,可以正常条用。但是当我用MyEclipse向导自动生成一个Webservice client调用这个服务的时候老是报如下错误:
2007-7-16 16:18:44 org.codehaus.xfire.transport.local.LocalChannel getService
信息: Unable to locate 'IObject' in ServiceRegistry
2007-7-16 16:18:44 org.codehaus.xfire.handler.DefaultFaultHandler invoke
信息: Fault occurred!
org.codehaus.xfire.fault.XFireFault: Could not find a service to invoke.
at org.codehaus.xfire.handler.LocateBindingHandler.invoke(LocateBindingHandler.java:39)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.local.LocalChannel.sendViaNewChannel(LocalChannel.java:172)
at org.codehaus.xfire.transport.local.LocalChannel.send(LocalChannel.java:99)
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:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy8.findById(Unknown Source)
at com.yxcat.undictclient.client.IObjectClient.main(IObjectClient.java:126)
2007-7-16 16:18:44 org.codehaus.xfire.handler.DefaultFaultHandler sendToDeadLetter
严重: Could not find service.
org.codehaus.xfire.fault.XFireFault: Could not find a service to invoke.
at org.codehaus.xfire.handler.LocateBindingHandler.invoke(LocateBindingHandler.java:39)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.local.LocalChannel.sendViaNewChannel(LocalChannel.java:172)
at org.codehaus.xfire.transport.local.LocalChannel.send(LocalChannel.java:99)
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:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy8.findById(Unknown Source)
at com.yxcat.undictclient.client.IObjectClient.main(IObjectClient.java:126)
2007-7-16 16:18:57 org.codehaus.xfire.transport.local.LocalChannel getService
信息: Unable to locate 'IObject' in ServiceRegistry
2007-7-16 16:18:57 org.codehaus.xfire.handler.DefaultFaultHandler invoke
信息: Fault occurred!
org.codehaus.xfire.fault.XFireFault: Could not find a service to invoke.
at org.codehaus.xfire.handler.LocateBindingHandler.invoke(LocateBindingHandler.java:39)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.local.LocalChannel.sendViaNewChannel(LocalChannel.java:172)
at org.codehaus.xfire.transport.local.LocalChannel.send(LocalChannel.java:99)
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:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy8.findByCondition(Unknown Source)
at com.yxcat.undictclient.client.IObjectClient.main(IObjectClient.java:127)
2007-7-16 16:18:57 org.codehaus.xfire.handler.DefaultFaultHandler sendToDeadLetter
严重: Could not find service.
org.codehaus.xfire.fault.XFireFault: Could not find a service to invoke.
at org.codehaus.xfire.handler.LocateBindingHandler.invoke(LocateBindingHandler.java:39)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.local.LocalChannel.sendViaNewChannel(LocalChannel.java:172)
at org.codehaus.xfire.transport.local.LocalChannel.send(LocalChannel.java:99)
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:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy8.findByCondition(Unknown Source)
at com.yxcat.undictclient.client.IObjectClient.main(IObjectClient.java:127)
null
test client completed
请各位打虾指点一下,非常感谢!
...全文
2209 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shilei_2008 2008-09-26
  • 打赏
  • 举报
回复
谢6楼大哥,问题解决了。
lyboyc 2008-09-19
  • 打赏
  • 举报
回复
地址什么输入对没?另外java和ASP等不同语言互联有些需要注意的地方,和java连java不同。
shilei_2008 2008-09-19
  • 打赏
  • 举报
回复
我也遇到相同的问题啊,很头疼
问题解决了嘛?
shilei_2008 2008-09-19
  • 打赏
  • 举报
回复
请大虾指点,
lyboyc 2008-09-19
  • 打赏
  • 举报
回复
找到客户端代码,看看指定qname没,两边的一样不。给你例子,你可以试着这样练,不用他生成的Webservice client

public String getXML(String endpoint, String functionName, int isNeedParam) {
String msg = "";
//System.out.println("Start invoking.");
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setOperationName(new QName("http://tempuri.org/", functionName));
call.setTargetEndpointAddress( new java.net.URL(endpoint) );

if(isNeedParam == 1) {
java.util.Date d = new java.util.Date();
String year = d.getYear() + 1900 + "";
String month = d.getMonth() + "";
if(month.length()==1) {
month = "0" + month;
}
System.out.println(month);
//设置发送字段类型,名字等
call.addParameter("year", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter("month", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
//call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
call.setReturnType(org.apache.axis.Constants.XSD_STRING);//设置返回类型

call.setUseSOAPAction(true);

call.setSOAPActionURI("http://tempuri.org/" + functionName);

msg = (String)call.invoke(new Object[]{year,month});//远程方法返回值为String
} else {
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
call.setUseSOAPAction(true);

call.setSOAPActionURI("http://tempuri.org/" + functionName);
msg = (String)call.invoke(new Object[]{});//远程方法返回值为String
}

System.out.println(msg);
} catch (Exception e) {
System.err.println(e.toString());
}
//System.out.println("Finished the invoking.");
return msg;
}
shilei_2008 2008-09-19
  • 打赏
  • 举报
回复
我是用MyEclipse 5.0.1生成的 webservice,在另一个项目里做了一个Webservice client调用就出现了这个错误。 查了好半天也没找到是什么错误,但是我调用其他的webservice就好使,也是MyEclipse 5.0.1生成的
qiuqiupeng 2007-07-19
  • 打赏
  • 举报
回复
包导入到jws文件了么?
dajay520 2007-07-17
  • 打赏
  • 举报
回复
没有发现服务。。
看下有没有指向那个服务

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧