Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace wsdl options forceSoap12Headers with correct design #21

Closed
wants to merge 12 commits into from
Next Next commit
readme changes, cleanup of examples, code etc
rashmihunt committed Sep 27, 2016
commit 85a656792f9c36a342bb175dc8df5686e0f88a8c
342 changes: 0 additions & 342 deletions History.md

This file was deleted.

28 changes: 0 additions & 28 deletions PUBLISHING.md

This file was deleted.

56 changes: 28 additions & 28 deletions example/json2xml.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var soap = require('../index');
var soap = require('..').soap;
var XMLHandler = soap.XMLHandler;

var xmlHandler = new XMLHandler();
@@ -8,17 +8,17 @@ var json = {
Envelope: {
Header: undefined,
Body: {
IFX_PmtInqRq: {
SignonRq: {ClientApp: {Org: 'IBM', Name: 'TestApp'}},
BankSvcRq: [{
BookStore: {
Detail: {StoreDetail: {Name: 'Modern Book Store', Address: '1001 Lane'}},
Genre: [{
'$attributes': {Id: 'id1'},
RqUID: '1',
PmtInqRq: {RqUID: '11'}
Aisle: '1',
Name: {Fiction: '11'}
},
{
'$attributes': {Id: 'id2'},
RqUID: '2',
PmtInqRq: {RqUID: '22'}
Aisle: '2',
Name: {NonFiction: '22'}
}]
}
}
@@ -34,26 +34,26 @@ var xmlString = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<com.td.payment:IFX_PmtInqRq xmlns:com.td.payment="http://services.tdgroup.com/ifxpmt/2012/09/10">
<IFX:SignonRq xmlns:IFX="http://services.tdgroup.com/IFX170_XSD/2008/08/14">
<IFX:ClientApp>
<IFX:Org>IBM</IFX:Org>
<IFX:Name>TestApp</IFX:Name>
</IFX:ClientApp>
</IFX:SignonRq>
<com.td.payment:BankSvcRq Id="id1">
<IFX:RqUID>1</IFX:RqUID>
<com.td.payment:PmtInqRq>
<IFX:RqUID>11</IFX:RqUID>
</com.td.payment:PmtInqRq>
</com.td.payment:BankSvcRq>
<com.td.payment:BankSvcRq Id="id2">
<IFX:RqUID>2</IFX:RqUID>
<com.td.payment:PmtInqRq>
<IFX:RqUID>22</IFX:RqUID>
</com.td.payment:PmtInqRq>
</com.td.payment:BankSvcRq>
</com.td.payment:IFX_PmtInqRq>
<ns1:BookStore xmlns:ns1="http://bookstore.com/">
<ns2:Detail xmlns:ns2="http://bookstore.com/detail">
<ns2:StoreDetail>
<ns2:Name>Modern Book Store</ns2:Name>
<ns2:Address>1001 Lane</ns2:Address>
</ns2:StoreDetail>
</ns2:Detail>
<ns1:Genre Id="id1">
<ns2:Aisle>1</ns2:Aisle>
<ns1:Name>
<ns2:Fiction>11</ns2:Fiction>
</ns1:Name>
</ns1:Genre>
<ns1:Genre Id="id2">
<ns2:Aisle>2</ns2:Aisle>
<ns1:Name>
<ns2:NonFiction>22</ns2:NonFiction>
</ns1:Name>
</ns1:Genre>
</ns1:BookStore>
</soap:Body>
</soap:Envelope>`;

18 changes: 0 additions & 18 deletions example/stock.js

This file was deleted.

61 changes: 47 additions & 14 deletions example/weather.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,51 @@
var path = require('path');
var soap = require('../index');

soap.createClient(path.join(__dirname, 'wsdls/weather.wsdl'), {},
function(err, client) {
if (err) {
console.error(err);
return;
}
"use strict";

var req = {
ZIP: '94555'
};
var fs = require('fs'),
assert = require('assert'),
request = require('request'),
http = require('http'),
lastReqAddress;
var soap = require('..').soap;
var XMLHandler = soap.XMLHandler;
var xmlHandler = new XMLHandler();
var util = require('util');

var method = client['Weather']['WeatherSoap']['GetCityWeatherByZIP'];
method(req, console.log);
//wsdl of the Web Service this client is going to invoke. This can point to local wsdl as well.
var url = 'http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL';
var requestArgs = {
ZIP: '94306'
};
var clientOptions = {};

});

soap.createClient(url, clientOptions, function(err, client) {
//custom request header
var customRequestHeader = {timeout: 5000};
var options = {};
//you can also call
client.GetCityWeatherByZIP(requestArgs, function(err, result, envelope, soapHeader) {
//response envelope
console.log(envelope);
//result in SOAP envelope body which is the wrapper element. In this case, result object corresponds to GetCityForecastByZIPResponse
console.log(JSON.stringify(result));
//this describes the entire WSDL in a tree form.
var description = client.describe();
//inspect GetCityWeatherByZIP operation
var operation = description.Weather.WeatherSoap.GetCityWeatherByZIP;

var node = xmlHandler.jsonToXml(null, null,
XMLHandler.createSOAPEnvelopeDescriptor('soap'), result);
var xml = node.end({pretty: true});
console.log(xml);

var root = xmlHandler.xmlToJson(null, xml, null);
console.log('%s', util.inspect(root, {depth: null}));

var root = XMLHandler.parseXml(null, xml);
var result = root.end({pretty: true});
console.log(result);


}, null, customRequestHeader);
});
10 changes: 0 additions & 10 deletions example/wsdl-test.js

This file was deleted.

63 changes: 0 additions & 63 deletions example/wsdl.js

This file was deleted.

65 changes: 0 additions & 65 deletions example/wsdls/stockquote.wsdl

This file was deleted.

46 changes: 26 additions & 20 deletions example/xml.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,32 @@
var soap = require('../index');
var soap = require('..').soap;
var XMLHandler = soap.XMLHandler;

var xmlString = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap11:Envelope xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/">
<soap11:Header/>
<soap11:Body>
<com.td.payment:IFX_PmtInqRq xmlns:com.td.payment="http://services.tdgroup.com/ifxpmt/2012/09/10">
<IFX:SignonRq xmlns:IFX="http://services.tdgroup.com/IFX170_XSD/2008/08/14">
<IFX:ClientApp>
<IFX:Org>IBM</IFX:Org>
<IFX:Name>TestApp</IFX:Name>
</IFX:ClientApp>
</IFX:SignonRq>
<com.td.payment:BankSvcRq Id="id">
<IFX:RqUID>1</IFX:RqUID>
<com.td.payment:PmtInqRq>
<IFX:RqUID>2</IFX:RqUID>
</com.td.payment:PmtInqRq>
</com.td.payment:BankSvcRq>
</com.td.payment:IFX_PmtInqRq>
</soap11:Body>
</soap11:Envelope>`;
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<ns1:BookStore xmlns:ns1="http://bookstore.com/">
<ns2:Detail xmlns:ns2="http://bookstore.com/detail">
<ns2:StoreDetail>
<ns2:Name>Modern Book Store</ns2:Name>
<ns2:Address>1001 Lane</ns2:Address>
</ns2:StoreDetail>
</ns2:Detail>
<ns1:Genre Id="id1">
<ns2:Aisle>1</ns2:Aisle>
<ns1:Name>
<ns2:Fiction>11</ns2:Fiction>
</ns1:Name>
</ns1:Genre>
<ns1:Genre Id="id2">
<ns2:Aisle>2</ns2:Aisle>
<ns1:Name>
<ns2:NonFiction>22</ns2:NonFiction>
</ns1:Name>
</ns1:Genre>
</ns1:BookStore>
</soap:Body>
</soap:Envelope>`;

var root = XMLHandler.parseXml(null, xmlString);
var result = root.end({pretty: true});
43 changes: 22 additions & 21 deletions example/xml2json.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var soap = require('../index');
var soap = require('..').soap;
var XMLHandler = soap.XMLHandler;

var xmlHandler = new XMLHandler();
@@ -8,29 +8,30 @@ var xmlString = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<com.td.payment:IFX_PmtInqRq xmlns:com.td.payment="http://services.tdgroup.com/ifxpmt/2012/09/10">
<IFX:SignonRq xmlns:IFX="http://services.tdgroup.com/IFX170_XSD/2008/08/14">
<IFX:ClientApp>
<IFX:Org>IBM</IFX:Org>
<IFX:Name>TestApp</IFX:Name>
</IFX:ClientApp>
</IFX:SignonRq>
<com.td.payment:BankSvcRq Id="id1">
<IFX:RqUID>1</IFX:RqUID>
<com.td.payment:PmtInqRq>
<IFX:RqUID>11</IFX:RqUID>
</com.td.payment:PmtInqRq>
</com.td.payment:BankSvcRq>
<com.td.payment:BankSvcRq Id="id2">
<IFX:RqUID>2</IFX:RqUID>
<com.td.payment:PmtInqRq>
<IFX:RqUID>22</IFX:RqUID>
</com.td.payment:PmtInqRq>
</com.td.payment:BankSvcRq>
</com.td.payment:IFX_PmtInqRq>
<ns1:BookStore xmlns:ns1="http://bookstore.com/">
<ns2:Detail xmlns:ns2="http://bookstore.com/detail">
<ns2:StoreDetail>
<ns2:Name>Modern Book Store</ns2:Name>
<ns2:Address>1001 Lane</ns2:Address>
</ns2:StoreDetail>
</ns2:Detail>
<ns1:Genre Id="id1">
<ns2:Aisle>1</ns2:Aisle>
<ns1:Name>
<ns2:Fiction>11</ns2:Fiction>
</ns1:Name>
</ns1:Genre>
<ns1:Genre Id="id2">
<ns2:Aisle>2</ns2:Aisle>
<ns1:Name>
<ns2:NonFiction>22</ns2:NonFiction>
</ns1:Name>
</ns1:Genre>
</ns1:BookStore>
</soap:Body>
</soap:Envelope>`;

var xmlString1 = ''
var root = xmlHandler.xmlToJson(null, xmlString, null);
console.log('%s', util.inspect(root, {depth: null}));

2 changes: 1 addition & 1 deletion example/xsds.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var soap = require('../index');
var soap = require('..').soap;
var WSDL = soap.WSDL;

WSDL.loadSystemSchemas(function(err, schemas) {