1

いくつかの名前空間を共有する 2 つの Web サービス実装があります (同じオブジェクトを使用 - 例ではオブジェクト C)。公開したいので

1) クライアント側の共有生成オブジェクトが存在します (同じオブジェクト C スタブ)

2) 1 つのポートでブース Web サービスを実行し、次のように URL を変更するだけでそれらにアクセスできます。

http://localhost:6690/WS/A?wsdl
http://localhost:6690/WS/B?wsdl

package a.wsdl.xxx.com;
@WebService(targetNamespace = "a.wsdl.xxx.com", serviceName = "A", name = "A")
public class A{
    @WebMethod
    public C a(){...}
}

//------------------------------------------------ ----------------

package a.wsdl.xxx.com;   
@WebService(targetNamespace = "b.wsdl.xxx.com", serviceName = "B", name = "B")
public class B{
    @WebMethod
    public C b(){...}
}

//------------------------------------------------ ----------------

package xxx.com; 
public class C{
 String s; 
 ....
} 
4

2 に答える 2

1

はい、greeting1.warとgreeting2.warの2つのwarファイルを作成しました。それぞれが以下に示すようにhello-worldインターフェースを実装し、クラス名のみが異なりGreeting1ますGreeting2。次に、両方をjbossにデプロイしました。どちらもhttp:// localhost:8080 / greeting1?wsdlhttp:// localhost:8080 / greeting2?wsdlからアクセスできます。

package my.webservice;

import javax.jws.WebService;
import javax.jws.WebMethod;

@WebService
public class Greeting1 {
   @WebMethod
   public String greetClient(String user)
   {
      return "hello " + user;
   }
}
于 2011-11-09T16:14:04.797 に答える
-1

2 つ以上のアプリケーションが同じポートをリッスンすることはできません。

于 2011-11-09T12:07:06.460 に答える