gpt4 book ai didi

javascript - SOAP API 集成协助

转载 作者:行者123 更新时间:2023-12-02 22:45:44 24 4
gpt4 key购买 nike

大家好,StackOverflow,我目前正在集成信用检查 SOAP API,我得到了一些没有 package.json 文件的示例代码,所以我不知道开发环境。这是我得到的示例代码:

var request = require('request');
var fs = require('fs');
var bsplit = require('buffer-split');

//process.env.http_proxy = 'http://host:port';

var xmlData = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webServices/">' +
'<soapenv:Header/>' +
'<soapenv:Body>' +
' <web:DoNormalEnquiryStream>' +
' <request>' +
' <pUsrnme>*****</pUsrnme>' +
' <pPasswrd>*****</pPasswrd>' +
' <pVersion>1.0</pVersion>' +
' <pOrigin>QA-SOAPUI</pOrigin>' +
' <pOrigin_Version>1.0</pOrigin_Version>' +
' <pInput_Format>XML</pInput_Format>' +
' <pTransaction>' +
' <![CDATA[<Transactions>' +
' <Search_Criteria>' +
' <CS_Data>Y</CS_Data>' +
' <CPA_Plus_NLR_Data>Y</CPA_Plus_NLR_Data>' +
' <Deeds_Data>N</Deeds_Data>' +
' <Directors_Data>N</Directors_Data>' +
' <Identity_number></Identity_number>' +
' <Surname></Surname>' +
' <Forename></Forename>' +
' <Forename2/>' +
' <Forename3/>' +
' <Gender>M</Gender>' +
' <Passport_flag>N</Passport_flag>' +
' <DateOfBirth>19820914</DateOfBirth>' +
' <Address1></Address1>' +
' <Address2></Address2>' +
' <Address3/><Address4/>' +
' <PostalCode></PostalCode>' +
' <HomeTelCode/>' +
' <HomeTelNo/>' +
' <WorkTelCode/>' +
' <WorkTelNo/>' +
' <CellTelNo/>' +
' <ResultType>JPDF2</ResultType>' +
' <RunCodix>N</RunCodix>' +
' <Adrs_Mandatory>N</Adrs_Mandatory>' +
' <Enq_Purpose>12</Enq_Purpose>' +
' <Run_CompuScore>N</Run_CompuScore>' +
' <ClientConsent>Y</ClientConsent>' +
' </Search_Criteria>' +
' </Transactions>]]>' +
' </pTransaction>' +
' </request>' +
' </web:DoNormalEnquiryStream>' +
' </soapenv:Body>' +
' </soapenv:Envelope>';

request({
url: "api.myapiurl.com/soap-api",
encoding:null,
method: "POST",
headers: {
"content-type": "text/xml"
},
body: xmlData
}, function (error, response, body){

var delim = new Buffer('--uuid');
var result = bsplit(body,delim);

var attBuffs = [];
var attBuffsStartIndex = [];

for(var i = 0; i < result.length; i++){
if(result[i].toString().indexOf("Content-Type: application/octet-stream") > 0){
attBuffs.push(result[i]);
var trimmedString = result[i].toString();
attBuffsStartIndex.push(trimmedString.indexOf("Content-Transfer-Encoding: binary")+37);
}
}

fs.open('JsonFile.json', 'w', function (err, fd) {
if (err) {
throw 'error opening file: ' + err;
}

fs.write(fd, attBuffs[0], attBuffsStartIndex[0], attBuffs[0].length - attBuffsStartIndex[0], null, function (err) {
if (err) throw 'error writing file: ' + err;
fs.close(fd, function () {
console.log('JSON File written to file');
})
});
});

fs.open('PdfFile.pdf', 'w', function (err, fd) {
if (err) {
throw 'error opening file: ' + err;
}

fs.write(fd, attBuffs[1], attBuffsStartIndex[1], attBuffs[1].length - attBuffsStartIndex[1], null, function (err) {
if (err) throw 'error writing file: ' + err;
fs.close(fd, function () {
console.log('PDF File written to file');
})
});
});
});

我在运行此代码时遇到一些困难。我认为它可能需要 [RequireJS API],但经过一些研究后,我坚信它实际上是 Request HTTP Client 。我真的很难让这个示例代码运行。任何帮助将不胜感激!

<小时/>

添加我知道这需要nodejs。但我一直不知道如何从那里取得进展。

<小时/>

添加

如果有人感兴趣, native 节点模块(例如 net、fs 等)并不意味着从浏览器运行,因此此代码无论如何都不起作用。

最佳答案

<强>1。创建项目目录

mkdir ~/projects/credit

(如果 ~/projects 不存在,请先使用 mkdir ~/projects 创建它,或者在您想要的任何位置创建新目录。)

<强>2。更改到新目录

cd ~/projects/credit

<强>2。为示例代码创建一个文件

触摸示例.js

<强>3。将示例代码粘贴到sample.js 文件中

<强>4。安装请求和缓冲区分割包

npm 安装请求缓冲区分割

这应该在您的新项目目录中生成一个 package.json 文件,以及包含已安装模块的 node_modules 目录。

<强>5。运行文件

假设您已经安装了 Node...

节点示例.js

关于javascript - SOAP API 集成协助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58406432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com