Я опытный разработчик Flex, который изучает AngularJS. Это так запутанно!!!
В любом случае, я пытаюсь сделать вызов службы на моем сервере (на том же домене) с помощью запроса SOAP WSDL и заполнить данные объектом модели AngularJS. Я пытался Ajax, но имел некоторые проблемы с получением фактических данных назад. Я думаю, что что-то не так с тем, как я создал тэг SOAP. Я получил успешный ответ, но никаких данных.
После того, как я не смог вычислить метод Ajax, я наткнулся на soapclient.js и нашел его чрезвычайно простым, с меньшим количеством кода, чем Ajax. soapclient.js выполняет большую часть работы для вас, подобно методу Ajax, что делает гораздо меньше кода. Кроме того, используя soapclient.js, я могу сделать SOAP-вызов, а также получить данные обратно отформатированный ответ XML.
http://javascriptsoapclient.codeplex.com
Моя проблема в том, что я пытаюсь использовать AngularJS, чтобы сбрасывать XML-ответ в объект модели AnularJS. Я не уверен, как настроить проект AngularJS для того, что я делаю, но мне бы очень хотелось узнать лучший метод, чтобы сохранить то, что я работаю над развязанными. Я искал Google как сумасшедший, но большинство примеров кажутся слишком сложными для новичков.
Вот что у меня есть:
<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>
Теперь служба SOAP возвращает данные следующим образом:
<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>
Что такое "правильный" способ в AngularJS для вызова службы, предполагая, что я сделал это нормально, если не дать мне знать наилучший способ, а затем в результате, как я прокручиваю данные в ответ XML и проанализировать его в объект модели Angular? В конечном итоге я хочу использовать эти данные в DataGrid.
Любая помощь будет очень оценена.