107 votes

Node.js : comment utiliser le service Web XML SOAP

Je me demande quelle est la meilleure façon de consommer le service Web XML SOAP avec node.js

Merci!

91voto

Juicy Scripter Points 16091

Vous n'avez pas beaucoup d'options.

Vous voudrez probablement utiliser l'un des éléments suivants :

14voto

Halfstop Points 1226

Le moyen le plus simple que j'ai trouvé pour envoyer du XML brut à un service SOAP à l'aide de Node.js consiste à utiliser l'implémentation http Node.js. Cela ressemble à ceci.

 var http = require('http');
var http_options = {
  hostname: 'localhost',
  port: 80,
  path: '/LocationOfSOAPServer/',
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': xml.length
  }
}

var req = http.request(http_options, (res) => {
  console.log(`STATUS: ${res.statusCode}`);
  console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
  res.setEncoding('utf8');
  res.on('data', (chunk) => {
    console.log(`BODY: ${chunk}`);
  });

  res.on('end', () => {
    console.log('No more data in response.')
  })
});

req.on('error', (e) => {
  console.log(`problem with request: ${e.message}`);
});

// write data to request body
req.write(xml); // xml would have been set somewhere to a complete xml document in the form of a string
req.end();

Vous auriez défini la variable xml comme le xml brut sous la forme d'une chaîne.

Mais si vous souhaitez simplement interagir avec un service SOAP via Node.js et effectuer des appels SOAP réguliers, au lieu d'envoyer du XML brut, utilisez l'une des bibliothèques Node.js. J'aime le savon aux nœuds .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X