1.0.12 • Published 5 years ago

requestsoap v1.0.12

Weekly downloads
2
License
ISC
Repository
-
Last release
5 years ago

Project Title

Classe per l'invocazione di servizi SOAP, tramite URL del WSDL

Getting Started

A seguire, alcuni esempi di utilizzo di invocazione alle funzionalita della classe.

Prerequisites

importare il pacchetto come request.

const RequestSoap = require ("requestsoap") ; let requestSoap = new RequestSoap();

esempio 1

/**
* @author l.piciollo
* Ritorna il risultato dell'invocazione al servizio SOAP, invocando la url del wsd e passando i parametri per la creazione 
* automatica del XML da invocare 
* @param {*} wsdlURL Url del servizio ?WSDL
* @param {*} soapAction  azione da invocare
* @param {*} requestArgs parametri da inserire all'interno dell'xml
* @param {*} options NOT IMPLEMENT IN THIS VERSION
*/

XMM da passare al servizio, ricavato tramite la chiamata getWSDL(URL)

<xs:element name="newsRequest"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="number" type="xs:int"/> <xs:element name="filter" type="xs:string"/> <xs:element minOccurs="0" name="language" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>

Creazione dell'oggetto da passare per l'invocazione del servizio, l'oggetto è costruito prendendo in esame l'xml sopra citato. occorre costruire l'oggetto mantenendo la gerarchia padre figlio.. quindi in questo caso si avra un oggetto name="newsRequest" > che ha i seguenti paraetri name="number" name="filter" name="language"

const requestArgs = { newsRequest:{ language : 'EN', number : 3 , filter : "IT" } };

//Url del wsdl da invocare const wsdlURL = 'http:///News?wsdl';

// Azione da richiamare dal servizio const soapAction = "getNews"

// chiamata al servizio, con risposta in formato JSON dei dati // response { body: body, statusCode: statusCode } requestSoap.requestFromWSDL(wsdlURL, soapAction, requestArgs, options).then( (response)=> { console.log(response); });

esempio 2

const  RequestSoap = require ("requestsoap") ;
let requestSoap = new RequestSoap();

//Url del wsdl da reperire
const wsdlURL = 'http://<host>/News?wsdl';

/**

  • @author l.piciollo
  • invocato passando la url del wsdl, ritorna lo stesso in formato xml per vedere cosa espone il servizio
  • @param {*} wsdlURL
  • response { XML } */ requestSoap.getWSDL(wsdlURL ).then( (response)=> { console.log(response ); });

    si avra la stampa dei dati del servizio esposto, in modo da poter prendere visione di cosa si aspetta, come ad esempio

    .... .... <xs:element name="newsRequest"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="number" type="xs:int"/> <xs:element name="filter" type="xs:string"/> <xs:element minOccurs="0" name="language" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
    ... ...

esempio 3

in caso si ha l'xml da passare al servizio e si vuole popolarlo maualmente, come ad esempio

<soapenv:Envelope xmlns:soapenv="..." xmlns:news="...">
<soapenv:Header/>
<soapenv:Body>
    <news:newsRequest>
        <!--Optional:-->
        <number>3</number>
        <filter>1IT</filter>
        <!--Optional:-->
        <language>EN</language>
    </news:newsRequest>
</soapenv:Body>
</soapenv:Envelope>

const  RequestSoap = require ("requestsoap") ;
let requestSoap = new RequestSoap();

//Url del wsdl da reperire
const wsdlURL = 'http://<host>/News?wsdl';

//ricavare l'azione dal wsdl >>>>  <soap:operation soapAction="........ " style="document"/>
const soapAction = "http://.........../getNews"

/**

  • @author l.piciollo
  • Ritorna il risultato dell'invocazione al servizio SOAP, tramite un WSDL compilato
  • @param {*} url del servizio esposto
  • @param {*} xml da passare al servizio
  • @param {*} soapAction azione da richiamare, occorre conoscere l'azione precisa richiesta
  • @param {*} timeout tempo di attesa alla risposta
  • response { body } */requestFromXML(wsdlURL, xml, soapAction, timeout).then( (response)=> { console.log(response ); });

Installing

npm i requestsoap

Authors

  • Luca Piciollo -

    License

This project is licensed under the MIT License - see the LICENSE.md file for details

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.2

5 years ago

1.0.0

5 years ago