3

最近、既存の wcf サービスを消費し、そのインターフェイスを公開する weblogic サーバー上で実行されるプロキシ Java Web サービスを作成する必要に直面しました (これが、weblogic サーバー上で wcf サービスを「ホスト」する唯一の方法です)。

このサービスの唯一の役割は、プロキシとして機能することだけです (追加機能はありません)。

プロキシ Java Web サービスで、既存の wcf サービスとまったく同じインターフェイスを公開できる必要があります。これは、wcf サービスを使用する既存のクライアント アプリケーションがあるためです。クライアント側で変更が必要ないように、新しいプロキシ Java Web サービスには互換性が必要です。

これを達成するための最良のアプローチは何ですか?出来ますか?私は Java テクノロジの経験がありませんが、ヒントをいただければ幸いです。

これまでのところ、JDeveloper を使用して、既存の wcf サービスの wsdl に基づいて Web サービス データ コントロールを作成することができました。Web サービスを介してそのようなデータ サービスを公開することは可能ですか?

4

2 に答える 2

0

探しているのがプロキシ機能である場合は、このプロジェクトを使用できます。

Mavenを使用している場合:

    <dependency>
        <groupId>org.mitre.dsmiley.httpproxy</groupId>
        <artifactId>smiley-http-proxy-servlet</artifactId>
        <version>1.2</version>
    </dependency>

Maven を使用していない場合は、おそらく Github リポジトリから jar ファイルを取得できます。

次に、web.xml で、実際のサービスがある場所を指すことができます。

<servlet>
    <servlet-name>sampleProxy</servlet-name>
    <servlet-class>org.mitre.dsmiley.httpproxy.ProxyServlet</servlet-class>
    <init-param>
        <param-name>targetUri</param-name>
        <param-value>http://localhost:9200/</param-value>
    </init-param>
    <init-param>
        <param-name>log</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>sampleProxy</servlet-name>
    <url-pattern>/sample/*</url-pattern>
</servlet-mapping>

(また、実際のサービスの WSDL に実際のサービスへのエンドポイントが定義されている場合は、WSDL のローカル コピーを保持し、エンドポイントを変更すれば完了です。)

これはおそらく時間効率が良く、経験もほとんど必要ありません。

于 2013-10-04T11:17:48.523 に答える
0

あなたはほとんどあなたの質問に答えました。「プロキシ Web サービス」。javaapp --> Java プロキシ Web サービス --> wcf Web サービス。エンドポイント アドレスの IP のみが変更されることを除いて、どちらの側でも同じ wsdl 構造を使用できます。Java でプロキシ Web サービスを開発するには、Axis または Jax-WS を使用できます。 Deepal JayasingheによるAxis2 のクイック スタートは、Axis2 に関する優れた本です。Web リファレンスでは通常取得しない Service Client と Operational Client について重要に説明します。JAX-WS に関しては、wsdl2java を使用して wsdl をコンパイルし、クライアント コードのスタブを生成するだけです。サーバー コードの記述 (WCF を呼び出す場所) については、 を参照してください。$JDK_HOME\jre\lib\endorsed ディレクトリに jaxb-api.jar および jaxws-api.jar ファイルをコピーする必要がある場合があります。http://www.mkyong.com/tutorials/jax-ws-tutorials/

于 2013-10-04T08:27:39.297 に答える