2

Web サービスを開発しました。以下は手順です

1) Web サービス エンドポイント インターフェイスを作成します。

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)
public interface HelloWorld{

    @WebMethod String getHelloWorldAsString(String name);

}

2. Web サービス エンドポイントの実装を作成します。

import javax.jws.WebService;

//Service Implementation
@WebService(endpointInterface = "com.abc.ws.HelloWorld")
public class HelloWorldImpl implements HelloWorld{

    @Override
    public String getHelloWorldAsString(String name) {
        return "Hello World JAX-WS " + name;
    }

}
  1. エンドポイント パブリッシャーの作成...

javax.xml.ws.Endpoint をインポートします。com.abc.ws.HelloWorldImpl をインポートします。

//Endpoint publisher
public class HelloWorldPublisher{

    public static void main(String[] args) {
       Endpoint.publish("http://localhost:9999/ws/hello", new HelloWorldImpl());
    }

}

ここで、生成された WSDL (Web サービス定義言語) ドキュメントにこの URL "http://localhost:9999/ws/hello?wsdl" 経由でアクセスして、デプロイされた Web サービスをテストしました。

しかし、私の質問は、クラウドの世界に慣れていないので、WebサービスをAmazonのようなクラウドにデプロイして、世界中の誰にでもwsdlを提供すると、Webサービスがデプロイされているときにブラウザーを介してwsdlにアクセスできるようにしたいということですクラウド上。

これを達成する方法を教えてください.. !!

4

1 に答える 1

0

mainWeb サービスを公開するメソッドを実行できないため、アプリケーションをクラウド上の実サーバーにデプロイする場合、このアプローチは機能しません。

アプリケーションがサーバー上で起動するときに、Web サービスを公開するように構成する必要があります。

たとえば、Spring を使用して Tomcat で SOAP Web サービスを実行するには、WS Bean をインジェクトし、Bean を使用して公開する必要があります。これらの構成は、または同等のものSimpleJaxWsServiceExporterで実現されます。application-context.xml

あなたの場合、このリンクを見てください。これは、JAX-WS RI ディストリビューションを使用して WSDL Web サービスを公開する方法の例です。

テストのために、WAR アプリケーションをOpenshiftにデプロイできます。

よろしくお願いします。

于 2015-01-27T18:58:21.560 に答える