我们正在从CF9转向CF11。有一点已经改变,CF11现在发布并使用axis-2 Web服务,而CF9则使用axis-1 Web服务。
因此,我们有一堆第1轴的Web服务,我们宁愿不回去重新考虑因素。我们已经看到有一些设置可以添加到代码中以指定版本,但是如果可能的话我们希望避免这种情况。 Web服务屏幕上的CF11管理员中有一个设置,即在轴2和轴1之间切换(默认为轴-2)。
切换的作用是什么?
我们希望它可以用来将服务器设置为默认发布和使用axis-1 Web服务,但是对该理论的快速测试似乎不起作用。
没有重新分解还有其他选择吗?
由于
答案 0 :(得分:2)
您可以在多个级别指定轴版本。
请参阅Axis-2 and Axis-1 compatibility issues
基本上除了你指定的服务器级别,但听起来你想要一个更精细的控制。
您可以在application.cfc中的应用程序级别执行此操作:
<cfset this.wssettings.version.consume = "2">
甚至可以通过以下方式逐个打电话:
ws = createObject("webservice"
, "http://localhost:8500/mycfc.cfc?wsdl"
, {wsversion="2"}
)
或者
<cfinvoke webservice = "http://localhost:8500/mycfc.cfc?wsdl"
method="echo"
wsversion="2"
returnVariable="foo" >
我不确定,但您可能必须使用refreshWSDL来确保为Axis-2重新生成代理类(如果是这样,这将是一次性的事情,因此您在测试时会这样做然后删除refreshWSDL )
<cfinvoke webservice = "http://localhost:8500/mycfc.cfc?wsdl"
method="echo"
wsversion="2"
returnVariable="foo"
refreshWSDL="yes">