私は AngularJS を学んでいるベテランの Flex 開発者です。これはとても紛らわしいです!!!
とにかく、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 でサービス呼び出しを行うための「適切な」方法は何ですか?それをAngularモデルオブジェクトに解析しますか? 最終的には、このデータを DataGrid で使用したいと考えています。
どんな助けでも大歓迎です。