Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么RvdProxy.getServices()可能会错误地返回空数组?_Java_Tibco_Tibco Rv - Fatal编程技术网

Java 为什么RvdProxy.getServices()可能会错误地返回空数组?

Java 为什么RvdProxy.getServices()可能会错误地返回空数组?,java,tibco,tibco-rv,Java,Tibco,Tibco Rv,下面的代码段尝试创建连接到特定rvd的TibDaemonManager,然后查询该rvd的服务 public static void main(String[] args) throws RuntimeException { DaemonManager daemonManager = new DaemonManager("http://foo.com:7580"); if(daemonManager.getDaemonType() == DaemonManager.RVD) {

下面的代码段尝试创建连接到特定rvd的Tib
DaemonManager
,然后查询该rvd的服务

public static void main(String[] args) throws RuntimeException {
    DaemonManager daemonManager = new DaemonManager("http://foo.com:7580");
    if(daemonManager.getDaemonType() == DaemonManager.RVD) {
        DaemonProxy daemonProxy = daemonManager.getDaemonProxy();
        final RvdProxy rvdProxy = (RvdProxy) daemonProxy;
        Service[] services = rvdProxy.getServices();
        System.out.println(services.length); //prints 0
        for (Service service : services) {
            System.out.println(service.getNetwork());
        }
    }
}
即使此rvd的web界面列出了多个可用服务,也会打印零为什么会发生这种情况?

我连接的守护进程正在运行软件的V7.5.1,我使用的
rvconfig.jar
也来自V7.5.1

使用Tibco的DaemonManager时是否存在导致我失控的问题?

我过去经常查看我的
RvdProxy
和RVD本身之间发送的流量,看起来有很多
HTTP GET
流量。例如:

0000  00 1e 0b a4 d1 7c 00 12  d9 7c 8a bf 08 00 45 00   .....|.. .|....E.
0010  03 87 a4 58 40 00 3d 06  66 90 0a 09 14 15 0a 0a   ...X@.=. f.......
0020  07 61 1d 9c bf 09 fe 1e  d6 82 6e 77 b9 52 80 18   .a...... ..nw.R..
0030  00 1b 05 43 00 00 01 01  08 0a ac 1c 6f 67 07 b2   ...C.... ....og..
0040  86 1f 72 3d 23 30 30 38  30 38 30 3e 3c 66 6f 6e   ..r=#008 080><fon
0050  74 20 66 61 63 65 3d 48  65 6c 76 65 74 69 63 61   t face=H elvetica
0060  2c 41 72 69 61 6c 20 73  69 7a 65 3d 32 20 63 6f   ,Arial s ize=2 co
0070  6c 6f 72 3d 23 46 46 46  46 46 46 3e 3c 62 3e 43   lor=#FFF FFF><b>C
您会发现用于从网页提取服务的模式

/services,GET~~~~~\
service_detail\\?(\\d+)>\\1</a>.*?size=2>(\\d+\\.\\d+\\.\\d+\\.\\d+)</td>.*?size=2>
(\\d+)</td>.*?size=2>(\\d+)</td>~~~~~\
/services,获取~~~~~\
服务详细信息\\?(\\d+)>\\1.*.size=2>(\\d+\\.\\d+\.\\d+\.\\d+).*.size=2>
(\\d+).*size=2>(\\d+)~~~~~\
…什么都配不上!就我而言,这是因为我的服务网络不是形式的
(\\d+\\.\\d+\.\\d+\.\\d+\.\\d+
),而是
形式的;(\\d+\.\\d+\.\\d+\.\\d+\.\\d+)
-注意前面的分号。这种微妙的差异是我所有问题的根源


这看起来像是
rvconfig
jar中的一个bug-需要使用Tibco!来引发它:(

您有有效的RV许可证文件吗?RV可以在未安装许可证的BusinessWorks中正常工作,但拒绝使用Java/C/xxx API。是的,所有RV许可证文件都有效;不过,感谢您的建议。
/services,GET~~~~~\
service_detail\\?(\\d+)>\\1</a>.*?size=2>(\\d+\\.\\d+\\.\\d+\\.\\d+)</td>.*?size=2>
(\\d+)</td>.*?size=2>(\\d+)</td>~~~~~\