Vor Jahren schrieb ich ein paar Perl SOAP :: Transport :: HTML-Server unter Windows Server 2000. Wenn der Service-Return-String enthielt Zeichen, die die Soap-Umschlag, Perl automatisch die Zeichenkette als base64, die der Client dann behandelt.Perl SOAP-Server nicht mehr zurück base64
Kürzlich wurden die Skripts auf einen Computer mit Server 2008 und Perl 5.22.1 verschoben. Der Service funktioniert einwandfrei, außer wenn die Rückgabezeichenfolge solche Zeichen enthält: Die Zeichenfolge ist nicht codiert und die SOAP-Hülle kehrt zum leeren Client zurück.
Wie kann ich meine Rückkehr Zeichenfolge zu base64 zwingen? Natürlich kann ich MIME :: base64 verwenden, um die Zeichenfolge zu codieren, aber der SOAP-Umschlag zeigt immer noch Typtext an und wird auf der Clientseite nicht korrekt konvertiert.
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
-> dispatch_to('MyMod')
-> handle;
Ich weiß nichts über Perl, aber ich habe den falschen Content-Typ bei der Verwendung von Node-Soap, und ich musste schließlich die SOAP-Anfrage manuell erstellen. Tragischerweise wird SOAP nicht von allen Sprachen gleich gehandhabt, und was einige Module erwarten, kann einfach nicht durch Module in anderen Sprachen bereitgestellt werden. Ultimative langfristige Lösung: Verwenden Sie REST. –