Из Elixir, я пытаюсь вызвать веб-службу SOAP с detergentex, которая является оберткой вокруг библиотеки Erlang detergent.
Я могу вызвать веб-службу SOAP в примере на домашней странице моющего средства без проблем: http://www.webservicex.net/convertVolume.asmx?WSDL
Параметры:
wsdl_url = "http://www.webservicex.net/convertVolume.asmx?WSDL"
action = "ChangeVolumeUnit"
parameters = ["100","dry","centiliter"]
Однако при попытке вызвать веб-службу Java SOAP Axis2 у меня возникают некоторые проблемы. Пример: 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
Любые предложения относительно того, что я делаю неправильно?