找不到方法 - 将GoCardless Java库与ColdFusion一起使用

时间:2013-07-15 10:31:32

标签: java coldfusion coldfusion-10

我正在尝试使用他们的Java库在ColdFusion中实现GoCardless订阅(根据此处的文档https://gocardless.com/docs/java/merchant_client_guide#installation-and-setup)。我对使用Java和ColdFusion很新,我收到以下错误:

  

找不到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时它会显示以下内容:

Dump of GoCardless.connect

这表明传递给newSubscriptionUrl方法的第一个参数应该是gocardless.connect.Subscription类。

当我转储订阅对象时,它表明情况确实如此:

Dump of GoCardless.connect

就像我说我刚接触使用Java和ColdFusion一样,所以我真的不知道是什么导致了这个问题,到目前为止我编写的代码是否正确。任何帮助将不胜感激。

谢谢,迈克尔。

1 个答案:

答案 0 :(得分:1)

该方法的签名是:

newSubscriptionUrl(Subscription, String, String, String)

但是你称之为:

newSubscriptionUrl(Subscription)

因此出现错误消息。您需要确保按照预期的方式调用该方法。