0

N個の「クライアント」があり、それぞれが.Netアプリが消費するWebサービスを実装する必要があります。クライアントごとにサービス参照を追加したくないのは、クライアントと URL がいつでも変更される可能性があるためです。そのため、URL をデータベースに保存し、アクセスするクライアントに応じて動的にエンドポイントを作成します。

クライアントに同じタイプのサービス (WCF または JAX-WS) を強制的に作成させる必要があるのか​​、何らかの条件付きロジックを作成しなくても接続できるのか疑問に思っていました。

ie. If JAX-WS then "do this" ELSE IF WCF "do other stuff"

また、WS-*(wshttpbinding) セキュリティを追加すると、2 つのテクノロジの相互運用性 (または互換性) がさらに複雑になるのではないかと考えていました。

このアプローチに関するコメントは大歓迎です。

4

2 に答える 2

2

if-else を使用せずにこれを実装することは可能です。すべてのクライアント/実装 (.NET および Java) は同じコントラクト (WSDL) を使用する必要がありますが、これは大きな問題にはなりません。

WS-* の場合、これは .NET のみを使用すると非常に簡単ですが、.NET から Java に移行するのは難しい (不可能ではない) ため、通常、basicauthentication (ユーザー名/パスワード) または証明書のいずれかで SSL を使用して basicHttp を実行することになります。これは、.NET から Java への wsHttpBinding よりもはるかに簡単です。

Cheeso が言うように、WSDL から始めます。つまり、.NET でクライアントとサービスを作成します。これにより WSDL が得られ、その WSDL を使用して Java クライアントを実装します。

于 2012-07-08T15:35:45.333 に答える
1

最初に WSDL から始めます。これが何を意味するのかわからない場合は、ググってください。

これは相互運用性を保証するものではありませんが、長い道のりを歩むことができます。

WS-* を追加することに関しては、そうです。これにより、追加レベルの相互運用性の問題が発生します。

于 2012-07-03T15:32:20.183 に答える