我正在构建一个利用 JADE 代理执行某些任务的系统。在一种情况下,其中一个代理需要托管 Web 服务以与移动应用程序通信。
不幸的是,代理打开的端口对系统不可见。我正在使用代码在 localhost 上打开端口 9191:
Endpoint.publish("http://" + Inet4Address.getLocalHost().getHostAddress()":9191/QrReceiver", qr);
这个 getLocalHost() 例程返回 127.0.1.1(不是 localhost),但是当我强制 ip 为 127.0.0.1 时,我可以访问 wsdl 文件
http://localhost:9191/QrReceiver?wsdl
但我无法使用任何其他设备访问此端口上的任何内容。此外,portscanner 实用程序没有找到此端口(但确实找到了 JADE 代理(和容器)用于设备间通信的端口 1099 和 7778)。
如何使用 JADE 代理来托管基于 wsdl 的 Web 服务?
在此先感谢,马丁