JADE エージェントを使用して特定のタスクを実行するシステムを構築しています。あるシナリオでは、エージェントの 1 つは、モバイル アプリと通信するために 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 サービスをホストするにはどうすればよいですか?
前もって感謝します、マーティン