AngularJS - SOAP-Service-Integration mit AngularJS-Modell

Ich bin ein erfahrener Flex-Entwickler, der AngularJS lernt. Das ist so verwirrend !!!

Auf jeden Fall versuche ich, über eine SOAP-WSDL-Anforderung einen Dienstaufruf an meinen Back-End-Server (auf derselben Domäne) zu senden und die Daten mit einem AngularJS-Modellobjekt zu füllen. Ich habe Ajax ausprobiert, hatte aber einige Probleme, die tatsächlichen Daten wiederzugewinnen. Ich glaube, es stimmt etwas nicht mit der Art und Weise, wie ich das SOAP-Tag erstellt habe. Ich erhielt eine erfolgreiche Antwort, aber keine Daten.

Nachdem ich die Ajax-Methode nicht herausgefunden hatte, stieß ich auf soapclient.js und fand sie mit weniger Code als Ajax äußerst einfach. soapclient.js erledigt den größten Teil der Arbeit für Sie, ähnlich wie die Ajax-Methode, die viel weniger Code erstellt. Außerdem kann ich mithilfe von soapclient.js den SOAP-Aufruf ausführen und auch Daten zurückerhalten, die im XML-Format vorliegen.

http://javascriptsoapclient.codeplex.com

Mein Problem ist, dass ich versuche, AngularJS zu verwenden, um die XML-Antwort in ein AnularJS-Modellobjekt abzulegen. Ich bin mir nicht sicher, wie ich das AngularJS-Projekt für das einrichten soll, was ich gerade mache, aber ich würde wirklich gerne die beste Methode kennen, um zu behalten, woran ich arbeite, entkoppelt. Ich habe wie verrückt nach Google gesucht, aber die meisten Beispiele scheinen für Anfänger übermäßig kompliziert zu sein.

Folgendes habe ich:

<html>
<head>
    <script language="JavaScript" type="text/javascript" src="jquery-1.10.1.js"></script>
    <script language="JavaScript" type="text/javascript" src="soapclient.js"></script>

    <script type="text/javascript">
        function getData() {
            var url2 = "https://myService";
            var pl = new SOAPClientParameters();

            pl.add("arg0", false);

            SOAPClient.invoke(url2, "methodToCall", pl, true, getDataCallback);
        }

        function getDataCallback(r, soapResponse) {
            alert(r.contents.payeeMailName);
        }
    </script>
</head>

<body>
<form>
    <input type="button" value="Click Here to Call Web Service" onClick="getData()" style="width: 192px">
</form>
<div id="result">Result?</div>
</body>
</html>

Der SOAP-Dienst gibt die Daten nun folgendermaßen zurück:

 <return>
    <contents>
       <eftAcctType>S</eftAcctType>
       <id>
          <djNumber>201-16-39063</djNumber>
          <djSequence>1</djSequence>
       </id>
       <payeeAddrLine1>124 Agate Drive</payeeAddrLine1>
    </contents>
    <contents>
       <eftAcctType/>
       <id>
          <djNumber>201-16-39201</djNumber>
          <djSequence>1</djSequence>
       </id>
       <payeeAddrLine1>c/o Kevin Martinez, Attorney at Law</payeeAddrLine1>
    </contents>
    <contents>
       <eftAcctType>C</eftAcctType>
       <id>
          <djNumber>201-16-38561</djNumber>
          <djSequence>1</djSequence>
       </id>
       <payeeAddrLine1>1360 South Highway 191</payeeAddrLine1>
    </contents>
    <status>0</status>
 </return>

Was ist die "richtige" Methode in AngularJS, um den Serviceabruf durchzuführen, vorausgesetzt, ich habe es in Ordnung gemacht, wenn ich es nicht am besten weiß, und wie kann ich dann im Ergebnis die Daten in der XML-Antwort durchlaufen und analysieren Sie es in ein Angular-Modell-Objekt? Ich möchte diese Daten eventuell in einem DataGrid verwenden.

Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage