Windows と Tomcat 7.0 で PHP と PHP/Java ブリッジをセットアップしました。そこではすべてOKです。
ただし、Windows 7 マシンにインストールされている Weblogic サーバーに接続するための Java 呼び出しを含む php ファイルを作成して、ユーザー/グループの追加/削除などを試しています。
これは私が従ったものです:http://docs.oracle.com/cd/E13222_01/wls/docs90/jmx/accessWLS.html私はこれも見ましたhttp://weblogic-wonders.com/weblogic/2009/10 /11/creating-users-in-weblogic-server-embedded-ldap-programatically/ (ただし、2 番目のものについては、java:comp/env/jmx/runtime 行でエラーが発生します)
ただし、「t3」プロトコルを認識して weblogic に接続するように設定できません。奇妙なことに、別のスタンドアロン スクリプトで jython を使用して t3 プロトコル経由でコンソールに接続できます。
上記の最初のリンクには、クラスパスに wljmxclient.jar が追加されていることを確認するためのセクションがあります。それを追加するクラスパスを設定しました。クラスパスを設定するために Weblogic サーバーへの接続が行われる直前に、PHP を使用して Weblogic の setWLSenv.cmd を実行することさえあります。. . 問題のjarファイルが追加されていることを示しています。それでもうまくいきません。次に、jar ファイルを JavaBirde/WEB-INF/lib フォルダーにコピーしました。それでもうまくいきません。
IIOP プロトコルを試してみましたが、「このコンテキストではバインドされていません」と示されているエラーの新しいパスを開始しました。上記のOracle docリンクに記載されている3つのMサーバーを切り替えてみました。そこにも運はありません。
他の人がこの「t3 プロトコルはサポートされていません」というメッセージに出くわしたようですが、解決策はありません。
これが私のコードです:
<?php
require_once("java/Java.inc");
$output=exec("C:\Oracle\Middleware\wlserver_12.1\server\bin\setWLSenv.cmd");
$protocol = "t3";
$hostname = "localhost";
$port="7001";
$jndiroot="/jndi/";
$mserver="weblogic.management.mbeanservers.domainruntime";
$united = $jndiroot.$mserver;
$serviceURL = new java("javax.management.remote.JMXServiceURL",$protocol, $hostname, $port,$united);
$h = new java("java.util.Hashtable");
$h->put("javax.naming.Context.SECURITY_PRINCIPAL", "myUID");
$h->put("javax.naming.Context.SECURITY_CREDENTIALS", "myPWD");
$h->put("javax.management.remote.JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES",
"weblogic.management.remote");
$connector = new java("javax.management.remote.JMXConnectorFactory");
$connector->connect($serviceURL,$h);
?>