node.js 调用 webservice 示例
时间: 2023-10-02 16:12:01 浏览: 52
可以使用 `soap` 模块来调用 WebService。以下是一个示例:
```javascript
const soap = require('soap');
const url = 'http://www.dneonline.com/calculator.asmx?wsdl';
const args = {
intA: 10,
intB: 5,
};
soap.createClient(url, (err, client) => {
if (err) {
console.error(err);
return;
}
client.Add(args, (err, result) => {
if (err) {
console.error(err);
return;
}
console.log(result.AddResult);
});
});
```
在此示例中,我们使用 `createClient` 方法创建了一个 SOAP 客户端,并将 WebService 的 WSDL 地址作为参数传递。然后,我们使用该客户端调用了 `Add` 方法,并将参数传递给它。最后,我们在回调函数中打印了结果。
相关问题
node vue soap 调用webservice 示例
这里是一个简单的 Node.js + Vue.js 调用 SOAP Web Service 的示例,假设你已经安装了 Node.js 和 Vue.js。
1. 首先,安装 soap 模块:
```
npm install soap --save
```
2. 创建一个 Node.js 服务端代码,用于调用 SOAP Web Service:
```javascript
const soap = require('soap');
const url = 'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl'; // Web Service 的 URL
const args = { mobileCode: '手机号码', userID: '' }; // Web Service 的参数
soap.createClient(url, function(err, client) {
if (err) {
console.error(err);
} else {
client.getMobileCodeInfo(args, function(err, result) { // 调用 Web Service 的方法
if (err) {
console.error(err);
} else {
console.log(result);
}
});
}
});
```
3. 创建一个 Vue.js 前端页面,用于输入手机号码并调用 Node.js 服务端代码:
```html
<template>
<div>
<input type="text" v-model="mobileCode" placeholder="请输入手机号码">
<button @click="getMobileCodeInfo">查询</button>
<p>{{ info }}</p>
</div>
</template>
<script>
export default {
data() {
return {
mobileCode: '',
info: ''
};
},
methods: {
getMobileCodeInfo() {
const vm = this;
const url = 'http://localhost:3000'; // Node.js 服务端的 URL
fetch(`${url}/mobilecode?mobileCode=${this.mobileCode}`)
.then(response => response.json())
.then(data => {
vm.info = data;
});
}
}
};
</script>
```
4. 创建一个 Node.js 服务端路由,用于处理 Vue.js 发送的请求并调用 Node.js 服务端代码:
```javascript
const express = require('express');
const router = express.Router();
const soap = require('soap');
router.get('/mobilecode', function(req, res, next) {
const url = 'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl'; // Web Service 的 URL
const args = { mobileCode: req.query.mobileCode, userID: '' }; // Web Service 的参数
soap.createClient(url, function(err, client) {
if (err) {
console.error(err);
res.send(err);
} else {
client.getMobileCodeInfo(args, function(err, result) { // 调用 Web Service 的方法
if (err) {
console.error(err);
res.send(err);
} else {
res.send(result);
}
});
}
});
});
module.exports = router;
```
5. 启动 Node.js 服务端代码:
```
node app.js
```
6. 启动 Vue.js 前端页面:
```
npm run serve
```
7. 打开浏览器访问 Vue.js 前端页面,输入手机号码并点击查询按钮,即可调用 SOAP Web Service 并显示查询结果。
vue 调用webservice 示例
下面是一个使用 Vue.js 调用 WebService 的示例:
1. 首先,在 Vue.js 中安装 `axios`,这是一个常用的用于发送 HTTP 请求的库。可以通过 npm 安装:
```
npm install axios
```
2. 在 Vue 组件中引入 `axios`:
```javascript
import axios from 'axios';
```
3. 在 Vue 组件中定义一个方法,用于调用 WebService:
```javascript
methods: {
callWebService() {
// WebService 的 URL
const url = 'http://example.com/your-webservice';
// 参数
const data = {
// ...
};
// 调用 WebService
axios.post(url, data)
.then(response => {
// 处理响应
console.log(response.data);
})
.catch(error => {
// 处理错误
console.error(error);
});
}
}
```
4. 在 Vue 组件的模板中添加一个按钮,用于触发调用 WebService 的方法:
```html
<template>
<div>
<button @click="callWebService">调用 WebService</button>
</div>
</template>
```
这样就可以在 Vue.js 中调用 WebService 了。需要注意的是,如果 WebService 被部署在不同的域名下,可能会遇到跨域问题,需要在服务器端进行相应的设置。