私は別のホストへのVNC接続を作成しようとしているJavaアプレットを持っています(アプレットを実行しているホストとVNCホストは同じではありません)。私が使用しているコードの詳細は、here署名されたJavaアプレットが外部サーバーに接続しないのはなぜですか?
私は、フォルダ構造com/citrix/xenserver/console /と一緒に私のWebサーバーのルートに置くXenServerConsole.jarにコンパイルするためのコードを手に入れました。 。(コンソールフォルダにはすべて.java、.class、およびいくつかの.pngファイルがあります)。
keytool -genkey -validity 3650 -keystore pKeyStore -alias keyName
keytool -selfcert -keystore pKeyStore -alias keyName -validity 3650
jarsigner -keystore pKeyStore XenServerConsole.jar keyName
と私は、このコードでのようにHTMLでアプレットをロードしています:
<applet code="com/citrix/xenserver/console/Initialize.class"
archive="/XenServerConsole.jar"
width="800" height="600">
<PARAM NAME="SESSION" VALUE="<%= @console_session %>">
<PARAM NAME="URL" VALUE="<%= @console_url %>">
<PARAM NAME="USEURL" VALUE="true">
</applet>
私はまだ取得していますいくつかの理由
は、私はこのようなXenServerConsole.jarファイルに署名しましたソケット許可エラー、ここにコンソール出力があります:Loading UI...
Initializing...
Starting main...
Creating controls...
Adding controls...
Starting...
Connection failed: access denied (java.net.SocketPermission 192.168.0.2:443 connect,resolve)
Connection closed
Reconnecting in 5 seconds...
私はJARファイルに署名すると考えていましたユーザーがHTMLページにアクセスしたときに警告が表示され、受け入れられた場合は別のサーバーに接続できます。 Windows(OSXではなく)で実行/キャンセルプロンプトが表示されていますが、SocketPermissionエラーが表示されます。
なぜコードはまだエラーを投げていますか?
うん、これが何か変わるのだろうか。私はアプレットキャッシュをフラッシュしましたが、今はSocketPermissionエラーが出ませんが、接続はまだ失敗します。トレース[here](http://pastie.org/1576588) – bwizzy
あなたのConnectionFailedメソッドでNPEに対処する必要があります。私はそれがあなたの瓶に署名することと関係があるのか疑いがあります。 – wolfcastle