Node.js中的SOAP

Node.js中的SOAP,soap,node.js,soap-client,Soap,Node.js,Soap Client,当然,你会告诉我肥皂已经过时了,我不得不用它 现在,我尝试了douche模块(),但当我这样做时失败了(WSDL url很好,事实上我正在尝试test/index.js提供的示例) 错误是: /usr/local/lib/node_modules/douche/lib/douche/wsdl.js:74 attrs.forEach(function(url,index) { ^ TypeError: Object #<Object> has no method '

当然,你会告诉我肥皂已经过时了,我不得不用它

现在,我尝试了douche模块(),但当我这样做时失败了(WSDL url很好,事实上我正在尝试
test/index.js提供的示例)

错误是:

/usr/local/lib/node_modules/douche/lib/douche/wsdl.js:74
  attrs.forEach(function(url,index) {
        ^
TypeError: Object #<Object> has no method 'forEach'
    at [object Object]._read_namespaces (/usr/local/lib/node_modules/douche/lib/douche/wsdl.js:74:9)
    at /usr/local/lib/node_modules/douche/lib/douche/wsdl.js:20:10
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/douche/lib/douche/wsdl.js:102:7)
    at IncomingMessage.emit (events.js:81:20)
    at HTTPParser.onMessageComplete (http.js:133:23)
    at Socket.ondata (http.js:1226:22)
    at Socket._onReadable (net.js:683:27)
    at IOWatcher.onReadable [as callback] (net.js:177:10)
/usr/local/lib/node\u modules/douche/lib/douche/wsdl.js:74
attrs.forEach(函数(url、索引){
^
TypeError:对象#没有方法“forEach”
在[object object]。\u读取\u名称空间(/usr/local/lib/node\u modules/douche/lib/douche/wsdl.js:74:9)
at/usr/local/lib/node_modules/douche/lib/douche/wsdl.js:20:10
我甚至不能用NPM安装它,它失败了:

> node-expat@1.3.2 install /home/warorface/node_modules/soap/node_modules/node-expat
> node-waf configure build

> compress@0.1.9 preinstall /home/warorface/node_modules/soap/node_modules/compress
> node-waf configure build

Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr/local 
'configure' finished successfully (0.127s)
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Waf: Entering directory `/home/warorface/node_modules/soap/node_modules/node-expat/build'
Checking for g++                         : ok  
Checking for program gcc or cc           : /usr/bin/gcc 
[1/2] cxx: node-expat.cc -> build/default/node-expat_1.o
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
../node-expat.cc:6:19: fatal error: expat.h: No existe el fichero o el directorio
compilation terminated.
Waf: Leaving directory `/home/warorface/node_modules/soap/node_modules/node-expat/build'
Build failed:  -> task failed (err #1): 
    {task: cxx node-expat.cc -> node-expat_1.o}
Checking for gcc                         : ok  
Checking for node path                   : not found 
Checking for node prefix                 : ok /usr/local 
Checking for library z                   : npm ERR! error installing node-expat@1.3.2 Error: node-expat@1.3.2 install: `node-waf configure build`
npm ERR! error installing node-expat@1.3.2 `sh "-c" "node-waf configure build"` failed with 1
npm ERR! error installing node-expat@1.3.2     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing node-expat@1.3.2     at ChildProcess.emit (events.js:67:17)
npm ERR! error installing node-expat@1.3.2     at ChildProcess.onexit (child_process.js:192:12)
npm ERR! error installing soap@0.0.1 Error: node-expat@1.3.2 install: `node-waf configure build`
npm ERR! error installing soap@0.0.1 `sh "-c" "node-waf configure build"` failed with 1
npm ERR! error installing soap@0.0.1     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing soap@0.0.1     at ChildProcess.emit (events.js:67:17)
npm ERR! error installing soap@0.0.1     at ChildProcess.onexit (child_process.js:192:12)
npm ERR! node-expat@1.3.2 install: `node-waf configure build`
npm ERR! `sh "-c" "node-waf configure build"` failed with 1
npm ERR! 
npm ERR! Failed at the node-expat@1.3.2 install script.
npm ERR! This is most likely a problem with the node-expat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-waf configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-expat
npm ERR! There is likely additional logging output above.
npm ERR! 
npm ERR! System Linux 2.6.38-8-generic-pae
npm ERR! command "node" "/usr/local/bin/npm" "install" "soap"
Traceback (most recent call last):
  File "/usr/local/bin/node-waf", line 16, in <module>
    Scripting.prepare(t, os.getcwd(), VERSION, wafdir)
  File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 145, in prepare
    prepare_impl(t, cwd, ver, wafdir)
  File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 135, in prepare_impl
    main()
  File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 188, in main
    fun(ctx)
  File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 241, in configure
    conf.sub_config([''])
  File "/usr/local/bin/../lib/node/wafadmin/Configure.py", line 221, in sub_config
    self.recurse(k, name='configure')
  File "/usr/local/bin/../lib/node/wafadmin/Utils.py", line 634, in recurse
    f(self)
  File "/home/warorface/node_modules/soap/node_modules/compress/wscript", line 18, in configure
  File "/usr/local/bin/../lib/node/wafadmin/Tools/config_c.py", line 444, in check
    ret = self.run_c_code(*k, **kw)
  File "/usr/local/bin/../lib/node/wafadmin/Tools/config_c.py", line 530, in run_c_code
    bld.compile()
  File "/usr/local/bin/../lib/node/wafadmin/Build.py", line 292, in compile
    os.chdir(back)
OSError: [Errno 2] No such file or directory: '/home/warorface/node_modules/soap/node_modules/compress/build/.conf_check_0'
npm ERR! error installing compress@0.1.9 Error: compress@0.1.9 preinstall: `node-waf configure build`
npm ERR! error installing compress@0.1.9 `sh "-c" "node-waf configure build"` failed with 1
npm ERR! error installing compress@0.1.9     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing compress@0.1.9     at ChildProcess.emit (events.js:67:17)
npm ERR! error installing compress@0.1.9     at ChildProcess.onexit (child_process.js:192:12)
npm ERR! 
>节点-expat@1.3.2安装/home/warorface/node_modules/soap/node_modules/node expat
>节点waf配置生成
> compress@0.1.9预安装/home/warorface/node_模块/soap/node_模块/compress
>节点waf配置生成
检查程序g++或C++:/rr/bin /g++
检查程序g++或C++:/rr/bin /g++
检查程序cpp:/usr/bin/cpp
检查程序ar:/usr/bin/ar
正在检查程序ranlib:/usr/bin/ranlib
检查g++:ok
正在检查节点路径:未找到
检查节点前缀:ok/usr/local
“配置”已成功完成(0.127s)
检查程序cpp:/usr/bin/cpp
检查程序ar:/usr/bin/ar
正在检查程序ranlib:/usr/bin/ranlib
Waf:进入目录“/home/warorface/node\u modules/soap/node\u modules/node expat/build”
检查g++:ok
检查程序gcc或cc:/usr/bin/gcc
[1/2]cxx:node-expat.cc->build/default/node-expat_1.o
检查程序ar:/usr/bin/ar
正在检查程序ranlib:/usr/bin/ranlib
../node expat.cc:6:19:致命错误:expat.h:不存在el fichero o el directorio
编译终止。
Waf:离开目录“/home/warorface/node\u modules/soap/node\u modules/node expat/build”
生成失败:->任务失败(错误1):
{任务:cxx node-expat.cc->node-expat_1.o}
检查gcc:ok
正在检查节点路径:未找到
检查节点前缀:ok/usr/local
正在检查库z:npm ERR!安装节点时出错-expat@1.3.2错误:节点-expat@1.3.2install:`node waf configure build`
npm ERR!安装节点时出错-expat@1.3.2'sh“-c”节点waf配置生成“`失败,错误为1
npm ERR!安装节点时出错-expat@1.3.2在ChildProcess中。(/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR!安装节点时出错-expat@1.3.2在ChildProcess.emit(events.js:67:17)
npm ERR!安装节点时出错-expat@1.3.2在ChildProcess.onexit(child_process.js:192:12)
npm错误!安装错误soap@0.0.1错误:节点-expat@1.3.2install:`node waf configure build`
npm错误!安装错误soap@0.0.1'sh“-c”节点waf配置生成“`失败,错误为1
npm错误!安装错误soap@0.0.1在ChildProcess中。(/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm错误!安装错误soap@0.0.1在ChildProcess.emit(events.js:67:17)
npm错误!安装错误soap@0.0.1在ChildProcess.onexit(child_process.js:192:12)
npm错误!节点-expat@1.3.2install:`node waf configure build`
npm ERR!`sh“-c”“节点waf配置生成”`失败,错误为1
npm错误!
npm ERR!在节点上失败-expat@1.3.2安装脚本。
npm ERR!这很可能是node expat包的问题,
npm错误!与npm本身无关。
npm ERR!告诉作者此操作在您的系统上失败:
npm ERR!节点waf配置生成
npm ERR!您可以通过以下方式获取他们的信息:
npm错误!npm所有者ls节点外派人员
npm ERR!上面可能还有其他日志输出。
npm错误!
npm ERR!System Linux 2.6.38-8-generic-pae
npm ERR!命令“node”“/usr/local/bin/npm”“install”“soap”
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/node waf”,第16行,在
Scripting.prepare(t,os.getcwd(),VERSION,wafdir)
文件“/usr/local/bin/。/lib/node/wafadmin/Scripting.py”,第145行,在prepare中
准备项目(t、cwd、ver、wafdir)
文件“/usr/local/bin/。/lib/node/wafadmin/Scripting.py”,第135行,在prepare\u impl中
main()
文件“/usr/local/bin/。/lib/node/wafadmin/Scripting.py”,第188行,在main中
乐趣(ctx)
文件“/usr/local/bin/。/lib/node/wafadmin/Scripting.py”,第241行,在configure中
conf.sub_配置([''))
文件“/usr/local/bin/。/lib/node/wafadmin/Configure.py”,第221行,子配置中
self.recurse(k,name='configure')
文件“/usr/local/bin/。/lib/node/wafadmin/Utils.py”,第634行,递归格式
f(自我)
文件“/home/warorface/node_modules/soap/node_modules/compress/wscript”,第18行,在configure中
文件“/usr/local/bin/。/lib/node/wafadmin/Tools/config_c.py”,第444行,检查中
ret=自身运行代码(*k,**kw)
文件“/usr/local/bin/。/lib/node/wafadmin/Tools/config_c.py”,第530行,运行_c_代码
bld.compile()
文件“/usr/local/bin/。/lib/node/wafadmin/Build.py”,第292行,编译中
os.chdir(返回)
OSError:[Errno 2]没有这样的文件或目录:'/home/warorface/node\u modules/soap/node\u modules/compress/build/.conf\u check\u 0'
npm错误!安装错误compress@0.1.9错误:compress@0.1.9预安装:`node waf configure build`
npm错误!安装错误compress@0.1.9'sh“-c”节点waf配置生成“`失败,错误为1
npm错误!安装错误compress@0.1.9在ChildProcess中。(/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm错误!安装错误compress@0.1.9在ChildProcess.emit(events.js:67:17)
npm错误!安装错误compress@0.1.9在ChildProcess.onexit(child_process.js:192:12)
npm错误!

修复了这个问题,并在github上建立了marcgreenstock/douche存储库:

安装我的自定义冲洗器:

  • git克隆git@gi
    > node-expat@1.3.2 install /home/warorface/node_modules/soap/node_modules/node-expat
    > node-waf configure build
    
    > compress@0.1.9 preinstall /home/warorface/node_modules/soap/node_modules/compress
    > node-waf configure build
    
    Checking for program g++ or c++          : /usr/bin/g++ 
    Checking for program g++ or c++          : /usr/bin/g++ 
    Checking for program cpp                 : /usr/bin/cpp 
    Checking for program ar                  : /usr/bin/ar 
    Checking for program ranlib              : /usr/bin/ranlib 
    Checking for g++                         : ok  
    Checking for node path                   : not found 
    Checking for node prefix                 : ok /usr/local 
    'configure' finished successfully (0.127s)
    Checking for program cpp                 : /usr/bin/cpp 
    Checking for program ar                  : /usr/bin/ar 
    Checking for program ranlib              : /usr/bin/ranlib 
    Waf: Entering directory `/home/warorface/node_modules/soap/node_modules/node-expat/build'
    Checking for g++                         : ok  
    Checking for program gcc or cc           : /usr/bin/gcc 
    [1/2] cxx: node-expat.cc -> build/default/node-expat_1.o
    Checking for program ar                  : /usr/bin/ar 
    Checking for program ranlib              : /usr/bin/ranlib 
    ../node-expat.cc:6:19: fatal error: expat.h: No existe el fichero o el directorio
    compilation terminated.
    Waf: Leaving directory `/home/warorface/node_modules/soap/node_modules/node-expat/build'
    Build failed:  -> task failed (err #1): 
        {task: cxx node-expat.cc -> node-expat_1.o}
    Checking for gcc                         : ok  
    Checking for node path                   : not found 
    Checking for node prefix                 : ok /usr/local 
    Checking for library z                   : npm ERR! error installing node-expat@1.3.2 Error: node-expat@1.3.2 install: `node-waf configure build`
    npm ERR! error installing node-expat@1.3.2 `sh "-c" "node-waf configure build"` failed with 1
    npm ERR! error installing node-expat@1.3.2     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
    npm ERR! error installing node-expat@1.3.2     at ChildProcess.emit (events.js:67:17)
    npm ERR! error installing node-expat@1.3.2     at ChildProcess.onexit (child_process.js:192:12)
    npm ERR! error installing soap@0.0.1 Error: node-expat@1.3.2 install: `node-waf configure build`
    npm ERR! error installing soap@0.0.1 `sh "-c" "node-waf configure build"` failed with 1
    npm ERR! error installing soap@0.0.1     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
    npm ERR! error installing soap@0.0.1     at ChildProcess.emit (events.js:67:17)
    npm ERR! error installing soap@0.0.1     at ChildProcess.onexit (child_process.js:192:12)
    npm ERR! node-expat@1.3.2 install: `node-waf configure build`
    npm ERR! `sh "-c" "node-waf configure build"` failed with 1
    npm ERR! 
    npm ERR! Failed at the node-expat@1.3.2 install script.
    npm ERR! This is most likely a problem with the node-expat package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node-waf configure build
    npm ERR! You can get their info via:
    npm ERR!     npm owner ls node-expat
    npm ERR! There is likely additional logging output above.
    npm ERR! 
    npm ERR! System Linux 2.6.38-8-generic-pae
    npm ERR! command "node" "/usr/local/bin/npm" "install" "soap"
    Traceback (most recent call last):
      File "/usr/local/bin/node-waf", line 16, in <module>
        Scripting.prepare(t, os.getcwd(), VERSION, wafdir)
      File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 145, in prepare
        prepare_impl(t, cwd, ver, wafdir)
      File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 135, in prepare_impl
        main()
      File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 188, in main
        fun(ctx)
      File "/usr/local/bin/../lib/node/wafadmin/Scripting.py", line 241, in configure
        conf.sub_config([''])
      File "/usr/local/bin/../lib/node/wafadmin/Configure.py", line 221, in sub_config
        self.recurse(k, name='configure')
      File "/usr/local/bin/../lib/node/wafadmin/Utils.py", line 634, in recurse
        f(self)
      File "/home/warorface/node_modules/soap/node_modules/compress/wscript", line 18, in configure
      File "/usr/local/bin/../lib/node/wafadmin/Tools/config_c.py", line 444, in check
        ret = self.run_c_code(*k, **kw)
      File "/usr/local/bin/../lib/node/wafadmin/Tools/config_c.py", line 530, in run_c_code
        bld.compile()
      File "/usr/local/bin/../lib/node/wafadmin/Build.py", line 292, in compile
        os.chdir(back)
    OSError: [Errno 2] No such file or directory: '/home/warorface/node_modules/soap/node_modules/compress/build/.conf_check_0'
    npm ERR! error installing compress@0.1.9 Error: compress@0.1.9 preinstall: `node-waf configure build`
    npm ERR! error installing compress@0.1.9 `sh "-c" "node-waf configure build"` failed with 1
    npm ERR! error installing compress@0.1.9     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
    npm ERR! error installing compress@0.1.9     at ChildProcess.emit (events.js:67:17)
    npm ERR! error installing compress@0.1.9     at ChildProcess.onexit (child_process.js:192:12)
    npm ERR!