1

ServiceStack を使用して SOAP1.2 Web サービスを作成しました。Axis2 プラットフォームを使用して、WSDL を介してサービスへのプロキシ クラスを作成するクライアントがあります。ただし、portType にはメソッドが含まれていないため、エラーが発生します (すべての操作は、「ISyncReply」という名前の portType の下に表示されます)。

<wsdl:portType name="IOneWay"></wsdl:portType>

手動で WSDL を編集し、IOneWay ポート タイプとそれを参照するすべてのものを削除すると、Axis2 クラスを問題なく追加できます。

非同期として定義されている操作がない場合、ServiceStack がこの PortType を Async に出力しないようにする方法はありますか?

編集: また、wcftestclient を使用してサービス参照を追加しようとすると、次のエラーが発生します。ただし、下に存在する操作を追加するようです

クライアント構成のコントラクト 'IOneWay' がサービス コントラクトの名前と一致しないか、このコントラクトに有効なメソッドがありません。

4

1 に答える 1

0

私は答えを見つけました...

いいえ、WSDL で IOneWay ポート バインディングを無効にすることはできません。このテンプレートは WSDL の生成に使用され、ポート バインディングはテンプレートにハード コードされているようです (135 ~ 137 行を参照)。

于 2013-07-18T21:07:34.037 に答える