我使用C#编写了一个非常简单的.dll文件,可以从一个简单的ColdFusion页面中调用。如果我传递直接值,一切运行良好,但是当我尝试传递变量(#rollYear#
)时,会收到一个消息,指出无法再找到该方法。
ColdFusion页面如下设置我的.dll:
<cfobject type="dotnet" name="getParcelData"
class="soapDLL.GetSecuredParcelByAPN"
assembly="{path}\soapdll.dll">
I then call it like this:
<cfset output = getParcelData.getData("46546504654","cy","#rollYear#")>
如果我使用上面的代码,会出现错误提示:“未找到getData方法”。如果我用一个数值(例如2017)替换变量
#rollYear#
,则可以正常工作。在我的测试中,我已经通过CFSET
函数设置了#rollYear#
变量,然后才调用了.dll文件。我一整天都在苦思冥想这个问题。有没有人有类似的经历?这个.dll非常简单,它只需要三个变量,根据这些变量设置要调用哪个SOAP服务来获取一些数据。由于原因太复杂无法解释,在ColdFusion内部无法进行SOAP调用,必须通过.net dll来实现。
如果你能提供任何帮助,我将不胜感激,因为我剩下的头发已经不多了。:)
..."cy","2017")>
还是..."cy",2017)>
?第三个参数期望什么数据类型?您可能需要使用javaCast()
转换 ColdFusion 变量以匹配 .NET 的getData
方法签名。 - Alex