ColdFusion 无法生成 WSDL
我在让 Web 服务在 ColdFusion 中运行时遇到问题。这在我的开发服务器上运行得很好,但是当我将其交给 QA 时,他们在他们的服务器上收到此错误。两者都运行 ColdFusion 8.0.1.195765。我是否缺少某些系统设置会导致此行为?
我非常简单的 CFC 文件:
<cfcomponent output="false">
<cffunction name="Test" access="remote" returntype="any">
<cfreturn />
</cffunction>
</cfcomponent>
当我访问 http://www.example.com/zSoapTest.cfc?wsdl
时,出现以下错误:
AXIS error Could not generate WSDL! There is no SOAP service at this location Fault - The AXIS engine could not find a target service to invoke! targetService is null AxisFault faultCode: {http://xml.apache.org/axis/}Server.NoService faultSubcode: faultString: The AXIS engine could not find a target service to invoke! targetService is null faultActor: faultNode: {http://xml.apache.org/axis/}stackTrace:The AXIS engine could not find a target service to invoke! targetService is null at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:475) at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ...
我进行了一些网络搜索并发现 此方法刷新 Web 服务缓存,但这并不'不为我工作。我认为它甚至没有 WSDL 的缓存,我认为它在那之前就失败了。
I am having trouble getting web services to work in ColdFusion. This works just fine on my development server, but when I gave it to QA they are getting this error on their server. Both are running ColdFusion 8.0.1.195765. Is there some system setting I'm missing that would cause this behavior?
My very simple CFC file:
<cfcomponent output="false">
<cffunction name="Test" access="remote" returntype="any">
<cfreturn />
</cffunction>
</cfcomponent>
When I go to http://www.example.com/zSoapTest.cfc?wsdl
I get the following error:
AXIS error Could not generate WSDL! There is no SOAP service at this location Fault - The AXIS engine could not find a target service to invoke! targetService is null AxisFault faultCode: {http://xml.apache.org/axis/}Server.NoService faultSubcode: faultString: The AXIS engine could not find a target service to invoke! targetService is null faultActor: faultNode: {http://xml.apache.org/axis/}stackTrace:The AXIS engine could not find a target service to invoke! targetService is null at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:475) at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ...
I've done some web searching and found this method to flush the web services cache, but that doesn't work for me. I don't think it even has a cache of the WSDL, I think it's failing before that.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我刚刚在我的 ColdFusion 8 (8,0,1,195765) 和 ColdFusion 9 上尝试了您的 cfc,并正确返回了 wdsl 定义。
我建议检查 QA 服务器是否已正确设置,并且目标服务定义尚未被删除/损坏/更改。本文可能会有所帮助http://kb2.adobe.com/cps/182/tn_18271。 html
I've just tried your cfc on my ColdFusion 8 (8,0,1,195765) and ColdFusion 9 and correctly get a wdsl definition returned.
I would suggest checking that the QA server is correctly set up and that target service definition hasn't been deleted/damaged/changed. This article might help http://kb2.adobe.com/cps/182/tn_18271.html
我有一个类似的问题,我发现
如果你使用jrun,那么你还需要编辑
C:\ColdFusion8\wwwroot\WEB-INF\jrun-web.xml
更改
为
I had a similar problem, and I found out that
IF you are using jrun, then you also need to edit
C:\ColdFusion8\wwwroot\WEB-INF\jrun-web.xml
to change
to