0
노드를 사용하여 SOAP 웹 서비스를 호출하려고합니다. 비누와 요청 패키지를 사용했습니다. 여기'Async'- 접미사가있는 일반 메소드가있는 API를 약속 할 수 없습니다.
var express = require('express');
var Promise = require("bluebird");
var app = express();
var soap = require('soap')
var url = 'http://example.com?WSDL';
let request = require('request');
let request_with_defaults = request.defaults({
'proxy': 'http://example.com:80',
'timeout': 5000,
'connection': 'keep-alive'
});
let soap_client_options = {
'request': request_with_defaults
};
var args = {
requestId: '1406303'
};
soap.createClient(url, soap_client_options, function(err, client) {
var soapHeader = {
"Username": "test",
"Password" : "test"
};
client.addSoapHeader(soapHeader);
client.getESSJobStatus(args, function(err, result) {
if(err){
console.log('Error occured');
}
console.log(result);
});
})
내가 점점 오전 오류 :
throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://bluebirdjs.com/docs/error-explanations.htmlX\u000a"
TypeError: Cannot promisify an API that has normal methods with 'Async'-suffix
See http://bluebirdjs.com/docs/error-explanations.html
나는이 URL을 확인했다
아래는 코드입니다. 전화를 걸 수없는 비동기 작업이 생성되는 것입니다. 그러나 나는 이것을 관련시킬 수 없다.
누구든지 코드를 사용하여이 문제를 해결할 수 있습니까?
'는 그 비동기 작업이 아닌 더를 created'됩니다 말을하지 않습니다 시도 - 당신이 *'overridePromiseSuffix 아마도 "비누"문서를 읽어 –
을 게시 코드에 Promisify의 힌트가 없다 : 경우에 당신의 wsdl 작업에 Async 접미사가있는 이름이 포함되어 있으면 기본 약속 접미사를 사용자 정의 접미사로 사용자 정의 된 접미어로 대체해야합니다. 기본값 : Async' * - https://www.npmjs.com/package/soap –
'overridePromiseSuffix : 'Blah' '또는 무엇이든'soap_client_options' –