我正在尝试使用GoCardless库(如这里的文档guide#installation-and-setup)在ColdFusion中实现它们的订阅。我对在ColdFusion中使用Java非常陌生,并且我得到了以下错误:
没有找到newSubscriptionUrl方法--要么没有指定方法名和参数类型的方法,要么newSubscriptionUrl方法重载了ColdFusion无法可靠解密的参数类型。ColdFusion找到了与提供的参数匹配的0种方法。如果这是一个Java对象,并且您验证了该方法的存在,那么使用javacast函数来减少歧义。
产生错误的代码如下:
<cfset GoCardless = createobject("java","gocardless.GoCardless")>
<cfset GoCardless.environment = GoCardless.Environment.SANDBOX>
<cfset GoCardless.accountDetails.setAppId("My app ID")>
<cfset GoCardless.accountDetails.setAppSecret("My app secret")>
<cfset GoCardless.accountDetails.setAccessToken("My access token")>
<cfset GoCardless.accountDetails.setMerchantId("My merchant ID")>
<cfset monthlyAmount = 35>
<cfset subscription = createobject("java","gocardless.connect.Subscription").init(
GoCardless.accountDetails.getMerchantId(),
javacast("bigdecimal",monthlyAmount),
1,
"month"
)>
<cfset GoCardless.connect.newSubscriptionUrl(subscription)>我的第一个想法是,订阅对象不是newSubscriptionUrl方法的正确类型,但我不认为是这样的,因为当我转储GoCardless.connect时,它显示了以下内容:

这表明传递给newSubscriptionUrl方法的第一个参数应该属于gocardless.connect.Subscription类。
当我转储订阅对象时,它会显示确实是这样的:

就像我说的那样,我对在ColdFusion中使用Java并不熟悉,所以我不知道是什么原因导致了这个问题,也不知道到目前为止我编写的代码是否正确。任何帮助都将不胜感激。
谢谢,迈克尔。
发布于 2013-07-15 10:50:19
该方法的签名如下:
newSubscriptionUrl(Subscription, String, String, String)但是,您将其称为:
newSubscriptionUrl(Subscription)因此出现了错误消息。您需要确保按预期调用该方法。
https://stackoverflow.com/questions/17652124
复制相似问题