Mettre un proxy dans les param�tres d'un service SOAP (Angular 7)
Bonjour � tous,
J'utilise node-soap et ngx-soap pour utiliser un WSDL pour faire envoyer des donn�es au travers SOAP � un Web Service, le tout cod� sous Angular 7. Je d�bute au niveau de l'utilisation de SOAP et d'Angular 7.
Je souhaite rajouter un proxy dans mon service soap mais j'ai du mal avec le request utilis� dans le code. Apr�s quelques recherches, voici le code que j'ai trouv� pour mettre le proxy en place:
Code:
1 2 3 4 5 6 7 8 9 10 11
| var request = require('request');
let requestWithDefaults = request.defaults({ proxy: myProxy, timeout: 5000, connection: 'keep-alive' });
let soapClientOptions = { request: requestWithDefaults };
this.soap
.createClient('assets/wsdl/myWSDL.WSDL', soapClientOptions)
.then(client => {
client.setSecurity(new security.BasicAuthSecurity('USER', 'PASSWORD', {}));
console.log('Client', client);
this.client = client;
})
.catch(err => console.log('Error', err)); |
Mais j'ai plein de messages d'erreurs de ce type :
Citation:
[FRONTEND] ERROR in ./node_modules/zlib/lib/zlib.js
[FRONTEND] Module not found: Error: Can't resolve './zlib_bindings' in 'C:\Users\MyUser\MyProject\frontend\node_modules\zlib\lib'
[FRONTEND] ERROR in ./node_modules/aws-sign2/index.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\aws-sign2'
[FRONTEND] ERROR in ./node_modules/aws4/aws4.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\aws4'
[FRONTEND] ERROR in ./node_modules/ecc-jsbn/index.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\ecc-jsbn'
[FRONTEND] ERROR in ./node_modules/http-signature/lib/verify.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\http-signature\lib'
[FRONTEND] ERROR in ./node_modules/http-signature/lib/signer.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\http-signature\lib'
[FRONTEND] ERROR in ./node_modules/oauth-sign/index.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\oauth-sign'
[FRONTEND] ERROR in ./node_modules/request/lib/helpers.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\request\lib'
[FRONTEND] ERROR in ./node_modules/request/lib/oauth.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\request\lib'
[FRONTEND] ERROR in ./node_modules/request/lib/hawk.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\request\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/fingerprint.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/key.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/signature.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/private-key.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/certificate.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/identity.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/utils.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/dhe.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/formats/pem.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib\formats'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/formats/ssh-private.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib\formats'
[FRONTEND] ERROR in ./node_modules/sshpk/lib/formats/openssh-cert.js
[FRONTEND] Module not found: Error: Can't resolve 'crypto' in 'C:\Users\MyUser\MyProject\frontend\node_modules\sshpk\lib\formats'
[FRONTEND] ERROR in ./node_modules/request/lib/har.js
[FRONTEND] Module not found: Error: Can't resolve 'fs' in 'C:\Users\MyUser\MyProject\frontend\node_modules\request\lib'
[FRONTEND] ERROR in ./node_modules/forever-agent/index.js
[FRONTEND] Module not found: Error: Can't resolve 'http' in 'C:\Users\MyUser\MyProject\frontend\node_modules\forever-agent'
[FRONTEND] ERROR in ./node_modules/http-signature/lib/signer.js
[FRONTEND] Module not found: Error: Can't resolve 'http' in 'C:\Users\MyUser\MyProject\frontend\node_modules\http-signature\lib'
[FRONTEND] ERROR in ./node_modules/request/request.js
[FRONTEND] Module not found: Error: Can't resolve 'http' in 'C:\Users\MyUser\MyProject\frontend\node_modules\request'
[FRONTEND] ERROR in ./node_modules/tunnel-agent/index.js
[FRONTEND] Module not found: Error: Can't resolve 'http' in 'C:\Users\MyUser\MyProject\frontend\node_modules\tunnel-agent'
[FRONTEND] ERROR in ./node_modules/forever-agent/index.js
[FRONTEND] Module not found: Error: Can't resolve 'https' in 'C:\Users\MyUser\MyProject\frontend\node_modules\forever-agent'
[FRONTEND] ERROR in ./node_modules/request/request.js
[FRONTEND] Module not found: Error: Can't resolve 'https' in 'C:\Users\MyUser\MyProject\frontend\node_modules\request'
[FRONTEND] ERROR in ./node_modules/tunnel-agent/index.js
[FRONTEND] Module not found: Error: Can't resolve 'https' in 'C:\Users\MyUser\MyProject\frontend\node_modules\tunnel-agent'
Mes tentatives apr�s quelques recherches suppl�mentaires :
- Rajouter les modules avec un et aussi les rajouter en tant que d�pendances avec R�sultats : Toujours les m�mes erreurs.
- Remplacer le
Code:
var request = require('request');
par un
Code:
import * as request from 'node-modules'
Car mon eslint n'appr�cie pas quand c'est un import...
R�sultats :
Citation:
[FRONTEND] ERROR in ./node_modules/node-modules/index.js 1:0
[FRONTEND] Module parse failed: Unexpected character '#' (1:0)
[FRONTEND] You may need an appropriate loader to handle this file type.
[FRONTEND] > #!/usr/bin/env node
[FRONTEND] |
[FRONTEND] | var request = require('request');
D�sol�e si c'est un peu long mais je vous remercie tous d'avance pour des pistes pour pouvoir r�soudre mon probl�me.
EDIT: J'ai pu ignorer les messages d'erreurs en modifiant mon package.json en rajoutant
Code:
1 2 3 4 5 6 7
| "browser": {
"http": false,
"https": false,
"crypto": false,
"fs": false,
"zlib": false
} |
Mon application compile mais j'ai encore un message d'erreur:
Citation:
ERROR Error: Uncaught (in promise): ReferenceError: process is not defined
ReferenceError: process is not defined
at Object../node_modules/request/lib/helpers.js (helpers.js:8)
at __webpack_require__ (bootstrap:78)
at Object../node_modules/request/index.js (index.js:19)
at __webpack_require__ (bootstrap:78)
at new SOAPService (soap.service.ts:36)
at core.js:14397
at _callFactory (core.js:19846)
at _createProviderInstance (core.js:19804)
at resolveNgModuleDep (core.js:19779)
at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:20473)
at resolveDep (core.js:20844)
at createClass (core.js:20724)
at createDirectiveInstance (core.js:20595)
at createViewNodes (core.js:21821)
at createRootView (core.js:21735)
at resolvePromise (zone.js:814) [angular]
at resolvePromise (zone.js:771) [angular]
at polyfills.js:6728:17 [angular]
at Object.onInvokeTask (core.js:16147) [angular]
at drainMicroTaskQueue (zone.js:595) [<root>]
at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:500) [<root>]
at invokeTask (zone.js:1540) [<root>]
at IDBRequest.globalZoneAwareCallback (zone.js:1566) [<root>]
La ligne correspondant � mon SOAP service est
Code:
var request = require('request');