Sve*_*tøl 14 erlang soap wsdl web-services elixir
从Elixir,我试图使用detergentex调用SOAP Web服务,这是一个围绕Erlang库清洁剂的包装器.
我可以在洗涤剂主页上的示例中调用SOAP Web服务,没有任何问题:http://www.webservicex.net/convertVolume.asmx? WSDL
参数:
wsdl_url = "http://www.webservicex.net/convertVolume.asmx?WSDL"
action = "ChangeVolumeUnit"
parameters = ["100","dry","centiliter"]
Run Code Online (Sandbox Code Playgroud)
但是,当尝试调用Axis2 Java SOAP Web服务时,我遇到了一些问题.示例: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)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
{:error, 'Struct doesn\'t match model: recordtype not expected: p:getBank'}
Run Code Online (Sandbox Code Playgroud)
使用以下堆栈跟踪
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
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么的任何建议?
根据实现,在init_model.
def init_model(wsdl_url, prefix \\ 'p') do
Detergentex.Client.init_model(wsdl_url, prefix)
end
Run Code Online (Sandbox Code Playgroud)
我建议添加一个空前缀。
| 归档时间: |
|
| 查看次数: |
989 次 |
| 最近记录: |