从Elixir,我试图用
detergentex调用一个SOAP Web Service,它是Erlang库
detergent的一个包装器.
我可以在洗衣机主页的示例中调用SOAP Web Service,没有任何问题:http://www.webservicex.net/convertVolume.asmx?WSDL
参数:
wsdl_url = "http://www.webservicex.net/convertVolume.asmx?WSDL" action = "ChangeVolumeUnit" parameters = ["100","dry","centiliter"]
但是当尝试调用Axis2 Java SOAP Web Service时,我遇到了一些问题.示例:http://www.thomas-bayer.com/axis2/services/BLZService?wsdl
以下列方式调用“getBank”
wsdl_url = "http://www.thomas-bayer.com/axis2/services/BLZService?wsdl" action = "getBank" parameters = ["abc"] wsdl = Detergentex.init_model(wsdl_url) res = Detergentex.call(wsdl,action,parameters)
我收到以下错误消息:
{:error,'Struct doesn\'t match model: recordtype not expected: p:getBank'}
具有以下堆栈跟踪
src/erlsom_write.erl:357: :erlsom_write.findAlternative/4 src/erlsom_write.erl:258: :erlsom_write.processSubType/5 src/erlsom_write.erl:241: :erlsom_write.processElementValues/7 src/erlsom_write.erl:132: :erlsom_write.struct2xml/6 src/erlsom_write.erl:323: :erlsom_write.processAlternativeValue/8 src/erlsom_write.erl:241: :erlsom_write.processElementValues/7 src/erlsom_write.erl:116: :erlsom_write.struct2xml/6 src/erlsom_write.erl:323: :erlsom_write.processAlternativeValue/8 src/erlsom_write.erl:241: :erlsom_write.processElementValues/7 src/erlsom_write.erl:45: :erlsom_write.write/2 src/detergent.erl:211: :detergent.call_attach/8
有什么建议我做错了什么?