使用Coldfusion的Apple推送通知

使用Coldfusion的Apple推送通知,coldfusion,push-notification,apple-push-notifications,coldfusion-10,Coldfusion,Push Notification,Apple Push Notifications,Coldfusion 10,我想使用Coldfusion发送推送通知。我在谷歌上找不到什么帮助。我只能找到一个讨论这个话题的人。但不幸的是,我在遵循该方法时遇到了异常。由于该方法使用JAR文件,因此我无法调试异常。即使我也看不到例外情况 我只是想知道有没有一种简单的方法可以发送推送通知?就像Android有一个一样。在Android中,您只需发送一个http请求,就完成了。但我可以看到苹果的情况是如此复杂 但我相信一定会有人做到这一点。有人能帮我吗 最后,根据建议,我在Application.cfc中实现了onError,

我想使用Coldfusion发送推送通知。我在谷歌上找不到什么帮助。我只能找到一个讨论这个话题的人。但不幸的是,我在遵循该方法时遇到了异常。由于该方法使用JAR文件,因此我无法调试异常。即使我也看不到例外情况

我只是想知道有没有一种简单的方法可以发送推送通知?就像Android有一个一样。在Android中,您只需发送一个http请求,就完成了。但我可以看到苹果的情况是如此复杂

但我相信一定会有人做到这一点。有人能帮我吗

最后,根据建议,我在Application.cfc中实现了onError,并得到以下错误:

Could not initialize class com.rsa.jcm.c.br
ava.lang.NoClassDefFoundError: Could not initialize class com.rsa.jcm.c.br at
com.rsa.jcm.c.ch.g(Unknown Source) at com.rsa.jcm.c.ch.h(Unknown Source) at
com.rsa.jcm.c.ch.f(Unknown Source) at com.rsa.jcm.c.jt.newSymmetricCipher(Unknown Source) at
com.rsa.cryptoj.o.mu.newSymmetricCipher(Unknown Source) at com.rsa.cryptoj.o.an.d(Unknown Source) at com.rsa.cryptoj.o.li.<init>(Unknown Source) at com.rsa.cryptoj.o.hh.<init>(Unknown Source) at com.rsa.cryptoj.o.gu.<init>(Unknown Source) at com.rsa.cryptoj.o.cc$240.a(Unknown Source) at com.rsa.cryptoj.o.da.a(Unknown Source) at com.rsa.cryptoj.o.da.a(Unknown Source) at
com.rsa.cryptoj.o.gx.b(Unknown Source) at com.rsa.cryptoj.o.gx.a(Unknown Source) at
com.rsa.cryptoj.o.gx.a(Unknown Source) at com.rsa.cryptoj.o.gx.a(Unknown Source) at
com.rsa.cryptoj.o.gx.a(Unknown Source) at com.rsa.cryptoj.o.gx.engineLoad(Unknown Source) at java.security.KeyStore.load(KeyStore.java:1185) at
com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:87) at
com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:139) at
com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:114) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
java.lang.reflect.Method.invoke(Method.java:597) at
coldfusion.runtime.StructBean.invoke(StructBean.java:508) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2465) at
无法初始化类com.rsa.jcm.c.br
ava.lang.NoClassDefFoundError:无法在初始化类com.rsa.jcm.c.br
com.rsa.jcm.c.ch.g(未知源)在com.rsa.jcm.c.ch.h(未知源)在
com.rsa.jcm.c.ch.f(未知源)位于com.rsa.jcm.c.jt.newsymmetrichipher(未知源)位于
com.rsa.cryptoj.o.mu.newsymmetrichipher(未知源)com.rsa.cryptoj.o.li(未知源)com.rsa.cryptoj.o.hh.(未知源)com.rsa.cryptoj.o.gu.(未知源)com.rsa.cryptoj.o.cc$240.a(未知源)com.rsa.cryptoj.o.da.a(未知源)com.rsa.cryptoj.o.da.a(未知源)在
com.rsa.cryptoj.o.gx.b(未知源)在com.rsa.cryptoj.o.gx.a(未知源)在
com.rsa.cryptoj.o.gx.a(未知源)在com.rsa.cryptoj.o.gx.a(未知源)在
com.rsa.cryptoj.o.gx.a(未知源代码)在com.rsa.cryptoj.o.gx.engineLoad(未知源代码)在java.security.KeyStore.load(KeyStore.java:1185)在
com.notnoop.apns.internal.Utilities.newslcontext(Utilities.java:87)位于
com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:139)位于
com.notnoop.apns.ApnsServiceBuilder.withCert(ApnsServiceBuilder.java:114)位于
sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于
位于的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)位于
java.lang.reflect.Method.invoke(Method.java:597)位于
调用(StructBean.java:508)
coldfusion.runtime.CfJspPage.\u调用(CfJspPage.java:2465)
编辑: CF代码:

<cfset APNSService = createObject( "java", "com.notnoop.apns.APNS" ).newService()
    .withCert("E:\WEB\mysite.com\login\JAR\DevPushCertificates.p12", "")
    .withSandboxDestination()
    .build() />

<!--- I get the exception here and the code bellow is not executed --->        

<cfset payload = createObject( "java", "com.notnoop.apns.APNS" ).newPayload()
    .badge(3)
    .alertBody("Hello, world.")
    .sound("PushNotification.caf")
    .build()/>

<cfset APNSService.push('#deviceToken#', payload) />

我正在使用这个JAR文件:


我是从这个博客上得到的:

如果你在多个地方发布了这个问题,请添加一个到其他问题副本的链接

看看我对你的回答

(通过链接回复更新)

这看起来像是ColdFusion的问题。在上面的堆栈中转储您 见:

召唤

    java.security.KeyStore.load(KeyStore.java:1185)
com.rsa.cryptoj
图书馆。很明显,访问java时有些东西不起作用 ColdFusion中的密钥存储

对于错误中的一个类,会产生一些 有趣的结果:

  • 哪个 链接依次指向
  • 其中列出了一些 您可以尝试的事情(在冷聚变中禁用Crypto-J)

如果您在多个位置发布该问题,请添加指向其他问题副本的链接

看看我对你的回答

(通过链接回复更新)

这看起来像是ColdFusion的问题。在上面的堆栈中转储您 见:

召唤

    java.security.KeyStore.load(KeyStore.java:1185)
com.rsa.cryptoj
图书馆。很明显,访问java时有些东西不起作用 ColdFusion中的密钥存储

对于错误中的一个类,会产生一些 有趣的结果:

  • 哪个 链接依次指向
  • 其中列出了一些 您可以尝试的事情(在冷聚变中禁用Crypto-J)

因为我的服务器在共享主机上。因此,对于每一次更改,我都必须向托管站点提交一张罚单。它引起头痛。最后,我让php服务器设置在php服务器上放置了推送通知代码(在google上的php中很容易获得)。然后我从Coldfusion代码中调用了该php文件。这对我很有用。

因为我的服务器是共享主机。因此,对于每一次更改,我都必须向托管站点提交一张罚单。它引起头痛。最后,我让php服务器设置在php服务器上放置了推送通知代码(在google上的php中很容易获得)。然后我从Coldfusion代码中调用了该php文件。这对我很有效。

您应该在ColdFusion的/logs/exception.log文件中看到一些异常。有什么事吗?另外,在有问题的代码之前添加一个。它有时强制CF将错误转储到响应中,而不是一次不生成响应all@barnyr事实上,我的客户机使用的是共享服务器。所以,我没有访问CFAdmin或Coldfusion目录的权限。这就是为什么我感觉自己像个盲人,不能完全自由地调试-(我想肯定有人会为此编写一个工作代码。如果有人可以共享该代码,这对我和其他人都会非常有帮助。我建议在application.cfc中使用onError函数自己捕获和记录异常。特别是在共享环境中。如果可能,在您的计算机上安装CF,编写一个简单的测试CAe并在本地观察错误。这似乎需要更多的工作,但CF可以在15分钟内安装,您将能够正确地调试代码。您应该在ColdFusion中的/logs/exception.log文件中看到一些异常。是否有任何异常?另外,在有问题的代码之前添加一个。这有时会迫使CF将错误转储到响应中e、 而不是一点反应都没有all@barnyr事实上,我的客户端使用的是共享服务器。因此,我没有访问CFAdmin或Coldfusion目录的权限。这就是为什么我感觉自己是瞎子,无法完全自由地进行调试的原因。:-(我