4

WCF を使用して非 .NET クライアント用の SOAP インターフェイスを公開する際の問題を知っている人はいますか? たとえば、他の SOAP ライブラリとの非互換性は?

これは、サードパーティが当社のソフトウェアと統合できるように SOAP インターフェイスを公開できるようにするためです。

4

3 に答える 3

8

私が WCF で遭遇したいくつかの問題領域:

  • 複数の URL に分割された WSDL を生成します。つまり、スキーマの一部が 1 つの URL にあり、別の部分が別の URL にある、などです。「メイン」の WSDL URL (サービス名の後に「?WSDL」だけが付いているもの) は、xsd:import 要素を介して他の部分を参照します。多くの SOAP クライアント (.NET Delphi より前など) は、このイディオムに非常に苦労しています。したがって、実際に相互運用性を実現するには、WSDL を「フラット化」する必要があります。ここに1 つの解決策を示します
  • WCF は、たとえば ASMX Web サービスと同じ方法で XML 名前空間を生成しません。WCF には、任意のサービスまたはデータ コントラクトを独自に選択した名前空間に配置する傾向があります。繰り返しになりますが、一部の SOAP クライアントではこれが困難です。ServiceContract および DataContract 属性に明示的な名前空間を追加することで、相互運用性レベルを上げることができます。
  • 多くの SOAP クライアントは、WCF クライアントほどうまくエラーを処理しません。たとえば、プロキシ生成コードは、WSDL で宣言された障害のクライアント側オブジェクトを作成しません。もちろん、障害は引き続きクライアントに送信されますが、クライアントは、それがどのような種類の障害であったかを把握するために、さらに多くの作業を行う必要があります。
于 2008-09-21T12:33:32.607 に答える
1

WS- *標準スタックのバージョンも相互運用性の問題になる可能性があります。たとえば、一部のJava実装でサポートされているWS-Addressing(2003)のバージョン。たとえば、Oracle BPELは、後のドラフトおよび1.0バージョンをサポートするWCFではサポートされていません。 2003年以前の1つ

于 2008-09-23T15:10:09.283 に答える
0

通常、すべてが正常に機能します。それは明らかに、使用しているクライアントに依存します - すべての人が SOAP を適切に実装しているわけではありません。

PS より具体的な回答が必要な場合は、質問を言い換えていただけますか?

于 2008-09-20T19:31:04.517 に答える