我们要从CF9搬到CF11。有一件事发生了改变,那就是CF11现在发布并使用axis-2 web服务,而CF9则使用axis-1 web服务。
所以,我们有一堆轴-1网络服务,我们不想回去重新考虑。我们已经看到,您可以在代码中添加一些设置来指定版本,但如果可能的话,希望避免这种设置。CF11管理员在web服务屏幕上有一个设置,即在axis-2和axis-1之间切换(默认值为axis-2)。
那开关是干什么用的?
我们希望它可以用来设置服务器,默认情况下发布和使用axis-1 web服务,但对该理论的快速测试似乎行不通。
如果没有重新分解,还有其他选择吗?
谢谢
发布于 2014-09-05 01:16:11
您可以在多个级别指定轴版本。
请参阅Axis-2和Axis-1兼容性问题
基本上,除了在服务器级别,您指定了,但听起来您需要一个更细粒度的控件。
您可以在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">https://stackoverflow.com/questions/23412414
复制相似问题