2013-10-11 2 views
1

Je rencontre des problèmes lors de la configuration d'un service Node.js/Node-soap exécuté sur IIS 7, Windows Server 2008, avec iisnode et node.js 0.10.20. Cette même configuration, avec le même code, fonctionne sur un autre serveur interne et fonctionne parfaitement. Le problème est que le processus d'installation n'a pas été documenté et que la personne qui l'a mise en place n'est pas disponible pour la migrer vers le nouveau serveur. Et je n'ai aucune connaissance préalable dans Node ni IISnode.Application Win32 non valide lors de l'utilisation de iisnode, nodejs et de la bibliothèque node-soap

Tel est le message d'erreur qui est imprimé:

iisnode encountered an error when processing the request.

HRESULT: 0x2 HTTP status: 500 HTTP reason: Internal Server Error You are receiving this HTTP 200 response because system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process to stderr is shown below:

Application has thrown an uncaught exception and is terminated: Error: %1 is not a valid Win32 application.

\node_modules\soap\node_modules\node-expat\build\Release\node_expat.node

at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (<Path to application>\node_modules\soap\node_modules\node-expat\lib\node-expat.js:4:13) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17) 
  • J'ai ajouté ce qui suit à mon dossier Node.js:

Maintenant ce que j'ai trouvé en ligne, mais essayé n'a pas fonctionné, est la suivante:

  1. De cette Stack Overflow question j'ai essayé deux choses:

    • Ajout de cette partie à mon fichier Node.js.

      <iisnode watchedFiles="*.js;node_modules\*;routes\*.js;views\*.jade" nodeProcessCommandLine="\program files\nodejs\node.exe"/> 
      
    • créé un lien symbolique:

      mklink /D "C:\Program Files (x86)\nodejs" "C:\Program Files\nodejs" 
      

mettra à jour si j'essaie autre chose.

Toute aide serait appréciée.

MISE À JOUR 1: Je me suis assuré que le Enable32-Bit Applications = False. est défini dans IIS et répara le

binaire VS 2010 x64 redist

Répondre

1

Ce message d'erreur indique le nombre de bits de \ node_modules \ soap \ node_modules \ node-expat \ build \ Release \ node_expat.node ne correspond pas au nombre de bits du processus de travail IIS (w3wp.exe). Comme vous semblez exécuter IIS avec des processus de travail 64 bits (Activer les applications 32 bits == False), cela peut indiquer que node_expat.node est un binaire 32 bits.

+0

Bonjour. Changer le drapeau "Activer les applications 32 bits" était juste quelque chose que j'ai vu suggéré en ligne. J'ai essayé avec et hors, mais aucun travail. Je cours le bit IISNode x64. C'est la même configuration qui s'exécute sur une autre machine x64 au bureau, c'est-à-dire IISNode x64, node-soap (a seulement la version x86) et Nodejs. – Hrafn

Questions connexes