Il nodo SOAP restituisce l’errore Target-Namespace “undefined” già in uso da un altro schema

Sto cercando di scrivere un cliente per la posta russa per ottenere traccia. Usa SOAP WSDL. Devo ottenere almeno un object client.

'use strict' let soap=require('soap'), url = 'https://tracking.russianpost.ru/rtm34?wsdl', argums={} soap.createClient(url,argums,function(err, client){ console.log(client) }) 

ma restituisce errore

 Target-Namespace "undefined" already in use by another Schema! Target-Namespace "undefined" already in use by another Schema! Target-Namespace "undefined" already in use by another Schema! Target-Namespace "undefined" already in use by another Schema! Target-Namespace "undefined" already in use by another Schema! /home/st.cremer/Сайты/get-posts/node_modules/soap/lib/wsdl.js:481 this.element = schema.elements[nsName.name]; ^ TypeError: Cannot read property 'elements' of undefined 

Qualcuno può spiegare cosa significa che cosa dovrebbe richiedere la richiesta?

Risolto . Soluzione alternativa. Prima invece del loro file .wsdl uso il file wsdl originale modificato e lo memorizzo localmente.

soluzione alternativa del file xml Risolto il problema aggiungendo nello schema il parametro targetnNamespace.

                         

Parte del codice wsdl originale

                         

ora per usare il nostro file wsdl:

 var SoapClient = require('soap'); var options = { 'trace': 1, "overrideRootElement": { "namespace": "myns", "xmlnsAttributes": [{ "name": "xmlns:ns2", "value": "http://russianpost.org/operationhistory" }] }, forceSoap12Headers: true, connection: 'keep-alive', 'soap_version': 2 }; SoapClient.createClient('./local_wsdl.xml', options, function (err, client) { client.getOperationHistory( { 'ns1:OperationHistoryRequest': { 'ns1:Barcode': trackValue, 'ns1:MessageType': 0, 'ns1:Language': 'RUS', }, 'ns1:AuthorizationHeader': { 'ns1:login': login, 'ns1:password': password, }, }, (err, result) => { if (err) { console.log(err); return; } console.log(result.OperationHistoryData); } ); } 

Ho avuto lo stesso problema ma non l’ho risolto.

Versione: “soap”: “^ 0.19.0”

  Target-Namespace "undefined" already in use by another Schema! Target-Namespace "undefined" already in use by another Schema! /Users/andreas/scm/todoListApi/node_modules/soap/lib/wsdl.js:481 this.element = schema.elements[nsName.name]; ^ TypeError: Cannot read property 'elements' of undefinedTarget-Namespace "undefined" already in use by another Schema! 

Aggiornamento: il WSDL non contiene targetNamespace. Come aggirare questo? Posso usare le Opzioni WSDL in qualche modo?

Ho risolto definendo solo un tag schema, ad esempio:

A partire dal:

                     

A:

           

Saluti.