我有PHP和在Windows和Tomcat 7.0上设置的PHP/Java桥接。一切都很好。weblogic jmx tomcata php/java桥梁和获得t3协议工作
不过,我试图写一个PHP文件与Java调用连接到安装在我的Windows 7机器上我的Weblogic服务器玩弄添加/删除用户/组等
这是我跟着: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/(但第二个我在java:comp/env/jmx/runtime行中得到一个错误)
但是,我无法让我的设置识别“t3”协议连接到我的weblogic。奇怪的是我可以通过使用jython的t3协议在单独的独立脚本中连接到控制台。
上面的第一个链接中有一节用于确保将wljmxclient.jar添加到类路径中。我建立了一个类路径来添加它。在连接到我的Weblogic服务器来设置我的类路径之前,我甚至使用PHP来执行Weblogic的setWLSenv.cmd。 。 。它显示正在添加的问题的jar文件。仍然无法工作。然后我将jar文件复制到JavaBirde/WEB-INF/lib文件夹中。仍然不会'工作。
我曾尝试IIOP协议,但后来我开始了一个错误的新路径,其中“未在此上下文中绑定”被指示。我尝试在上面的Oracle文档链接中提到的3个Mservers之间切换。那里也没有运气。
我看到其他人遇到了这个“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);
?>