Ich habe versucht, einen Soap-Server zu bekommen, der eine WSDL-Spezifikation von einer dritten Partei implementiert (ist das der richtige Begriff?). Ich habe Delphis WSDL-Importer benutzt. (Teil) sieht den generierten Code wie folgt aus:WSDL-Importeur erzeugt fehlerhaften Server
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;
Wenn sie aufgerufen wird, wird der Server sagt, dass „ Keine Methode mit dem Namen‚MiniMessageType‘durch die Schnittstelle unterstützt wird‚miniPortType‘“.
Ich kann nur funktionieren, indem Sie den Namen der Funktion und den Namen des Hauptelements der Nachricht gleich machen.
Ich denke, es sollte möglich sein, verschiedene Namen zu haben. Wenigstens beschwert sich daapUI nicht. Und ich habe eigentlich keine andere Wahl, als das WSDL so zu implementieren, wie es ist. Weiß jemand, wie ich das umgehen kann?
Ich verwende Delphi 2007
Danke, Miel.
Welche Version von Delphi verwenden Sie? –
Was hast du am Ende gemacht? Ich hatte gehofft, hier eine nützliche Lösung zu finden. –
@chris Ich habe es aufgegeben, in Delphi SOAP-Dienste zu schreiben. Ich finde den Mangel an Unterstützung für SOAP in Delphi störend. Speziell für Dienstleistungen. Ich schreibe jetzt diese in C#. Die offizielle Embarcadero-Haltung scheint zu sein, dass Dienste in Prism geschrieben werden sollten ... – Miel