CXF を使用してアダプターを生成している Java ショップが使用する WCF サービスを作成しました。Java にはあまり詳しくありませんが、basicHttpBinding、SSL、および基本認証を使用してサービスを公開しました。統合テストは、.NET クライアントがサービスを問題なく使用できることを示しています。ただし、Java ショップはサービスの利用に問題があります。具体的には、次の JAXB エラーが発生します。2 つの宣言により、ObjectFactory クラスで衝突が発生します。これは通常、CXF がアダプター クラスを作成しようとしたときに、2 つの操作が同じ名前と名前空間を持つ場合に発生します。
なんらかの衝突を引き起こす型や操作の名前が見つかりません。すべてのカスタム タイプで名前空間が指定されていること、および tempuri.org が WSDL のどこにも指定されていないことを確認しました。Java ショップは、生成された WSDL に <xsd:import 要素が含まれているため、エラーが発生したと考えています。
だから、私の質問:
- Java ショップが WCF サービスを使用するための CXF よりも良い方法はありますか? Project Tango は面白そうですが、使用を検討するように伝えるには十分な知識がありません。CXF は Java の事実上の標準ですか?
- BasicHttpBinding/SSL/Basic Auth は、MS が相互運用シナリオに推奨するものですが、クライアントにはまだ相互運用の問題があるようです。これを使いやすくするために、他のバインディングや設定を検討する必要がありますか?
- スキーマのインポートなしで常に単一の WDSL を出力するように WCF を構成する方法はありますか?