私は、サード パーティによって作成された wsdl 仕様を実装する SOAP サーバーを起動しようとしています (これは正しい用語ですか?)。Delphi の wsdl インポーターを使用しました。生成されたコード (の一部) は次のようになります。
miniPortType = interface(IInvokable)
['{824D172A-9C1F-D202-5B21-4C324553BCF0}']
// Cannot unwrap:
// - Input element wrapper name does not match operation's name
function miniService(const aMessage: MiniMessageType): MiniAnswerType; stdcall;
end;
呼び出されると、サーバーは「'MiniMessageType' という名前のメソッドはインターフェイス 'miniPortType' でサポートされていません」と言います。
関数の名前とメッセージのメイン要素の名前を同じにすることによってのみ、これを機能させることができます。
違う名前でもいいと思います。少なくともsoapUIは文句を言いません。そして、実際にはwsdlをそのまま実装するしかありません。これを回避する方法を知っている人はいますか?
Delphi 2007 を使用しています。
ありがとう、ミエル。