1

Coldfusion を使用してプッシュ通知を送信したい。私はグーグルで多くの助けを見つけることができませんでした。このトピックについて説明している記事は 1 つしか見つかりませんでした。しかし残念ながら、その方法に従っていると例外が発生します。そのメソッドは JAR ファイルを使用するため、例外をデバッグできません。私でさえ例外を見ることができません。

プッシュ通知を送信する簡単な方法はありますか? Android用のものがあるように。Android では、http リクエストを送信するだけで完了です。しかし、Apple の場合は非常に複雑であることがわかります。

しかし、誰かがこれを確実に達成したと確信しています。誰でもこれについて私を助けてもらえますか?

最後に、提案から、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

編集:

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 ファイルを使用しています: https://github.com/notnoop/java-apns/downloads

このブログから入手しました: http://www.raymondcamden.com/index.cfm/2010/9/13/Guest-Post-Apple-Push-Notifications-From-ColdFusion-in-Ten-Minutes-or-Less #c843ED990-C791-2A3E-1E9FD9B78ECADFF7

4

2 に答える 2

1

その質問を複数の場所に投稿する場合は、質問の他のコピーへのリンクを追加してください。

github での java-apns の問題に対する私の回答をご覧ください。

(リンクからの応答で更新)

これは ColdFusion の問題のようです。上記のスタック ダンプには、次のように表示されます。

    com.notnoop.apns.internal.Utilities.newSSLContext(Utilities.java:87)

呼び出します

    java.security.KeyStore.load(KeyStore.java:1185)

これは、ライブラリでいくつかの反芻の後に失敗しcom.rsa.cryptoj ます。そのため、ColdFusion で Java キー ストアにアクセスすると、明らかに何かが機能しません。

エラー内のクラスの 1 つをグーグル検索すると、いくつかの興味深い結果が得られます。

于 2013-04-11T09:58:40.003 に答える
0

私のサーバーは共有ホスティング上にあるため。そのため、変更ごとに、ホスティング サイトにチケットを送信する必要がありました。頭痛の原因でした。最後に、PHP サーバーのセットアップでプッシュ通知コード (Google の PHP で簡単に利用可能) を PHP サーバーに配置しました。次に、Coldfusion コードからその php ファイルを呼び出しました。これは私にとってはうまくいきました。

于 2013-05-09T14:12:56.127 に答える