当我在 Ionic 2 中使用 autopulous-angular2-soap 时,出现错误:"(void 0( 不是一个函数">
我只是安装包,导入app.modules.ts,然后导入xdom.js和xdom2jso.js在我的应用程序中.html
有人为我提供实现示例吗?
app.module.ts
...
import {SoapService} from "autopulous-angular2-soap/soap.service";
...
providers: [SoapService]
应用.html
<script src="../../node_modules/autopulous-angular2-soap/vendor/autopulous-xdom/xdom.js"></script>
<script src="../../node_modules/autopulous-angular2-soap/vendor/autopulous-xdom2jso/xdom2jso.js"></script>
我还做了一个测试,将导入 xdom 和 xdom2jso 放在 src/index.html
下面的代码对我来说很好用
输入:
let input = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<**WebMethodName** xmlns="http://tempuri.org/">
<_Param1_>test</_Param1_>
<_Param2_>test2</_Param2_>
</**WebMethodName** >
</soap:Body>
</soap:Envelope>';
头:
this.headers = {
responseType: "text",
headers: new HttpHeaders()
.set('Content-Type', 'text/xml; charset=utf-8')};
Http 调用:使用 HTTP 客户端
this.http.post('http://localhost/yourwebservice.asmx', this.input, this.headers)
.subscribe((response) => {
let result = new DOMParser().parseFromString(res,"text/xml").getElementsByTagName("**WebMethodName**Result")[0].innerHTML;}, (error) => {\Error Block });