node soap 调用java webservice
时间: 2023-10-02 17:10:54 浏览: 191
可以使用node-soap模块来调用Java WebService。
下面是一个简单的例子:
```javascript
const soap = require('soap');
const url = 'http://localhost:8080/HelloWorld?wsdl';
const args = {
arg0: 'John',
arg1: 'Doe'
};
soap.createClient(url, function(err, client) {
if (err) {
console.error(err);
return;
}
client.sayHello(args, function(err, result) {
if (err) {
console.error(err);
return;
}
console.log(result);
});
});
```
在这个例子中,我们使用了node-soap模块来创建一个SOAP客户端,并调用了一个名为"sayHello"的Java WebService方法。我们将参数传递给这个方法,并在回调函数中打印出结果。
需要注意的是,需要将Java WebService的WSDL文件的URL作为参数传递给createClient方法。
希望这个例子可以帮助你开始使用node-soap来调用Java WebService。
相关问题
vue node soap 调用webservice 示例
这里提供一个简单的示例:
首先,安装 `soap` 模块:
```bash
npm install soap --save
```
然后,在 Node.js 中调用 SOAP 接口:
```javascript
const soap = require('soap');
const url = 'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl';
const args = { byProvinceName: '广东' };
soap.createClient(url, function(err, client) {
if (err) {
console.error(err);
return;
}
client.getWeatherbyProvinceName(args, function(err, result) {
if (err) {
console.error(err);
return;
}
console.log(result);
});
});
```
在 Vue.js 中调用 SOAP 接口:
```javascript
import soap from 'soap';
const url = 'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl';
const args = { byProvinceName: '广东' };
soap.createClient(url, function(err, client) {
if (err) {
console.error(err);
return;
}
client.getWeatherbyProvinceName(args, function(err, result) {
if (err) {
console.error(err);
return;
}
console.log(result);
});
});
```
注意:在浏览器中使用 SOAP 接口需要解决跨域问题。
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 并显示查询结果。
阅读全文