Recommended library for interacting with SOAP-based API

Anyone can recommend a good library for interacting with an API that does SOAP?

2 Likes

I have not used it yet but detergentex could help.

1 Like

last commit is over a year old

Exactly, I’ve never had to deal with SOAP. Why now of all times :cry:

We tried with detergentex, but didn’t work well with our service. We ended up using httpoison and sending custom requests.

1 Like

This article might help: https://medium.com/@larryweya/soap-in-elixir-with-soap-64400c585f69#.r62u9pp7c They said that they use the Erlang soap library instead of detergent.

Also can I use this opportunity to say that it’s always a pain to communicate with SOAP services using modern programming languages… I’ve encountered one occasion back then and I was using Node.js. Can’t say I was happy.

It seems like if you want full support (code generation etc.) you’ll be better off with Java. Even PHP’s SOAP library works better than the Node.js lib.

See also: Anyone ever had to consume WSDLs from Elixir?.

Seems to boil down to working on the HTTP/XML level - unfortunately that means understanding XML and the relevant parts of SOAP (which are likely buried behind the majority of specifications not relevant to your case).

Well, SOAP isn’t a “modern” specification, so it’s only (somewhat) well supported by the technology stacks that were mainstream when the big vendors were pushing WS-Deathstar (Java, .NET) - so all that technology is already in place. However building a new set of SOAP tools for a younger language from scratch is an unforgiving and unrewarding task because of all the complexity buried in the WS-* specifications to support scenarios that are largely irrelevant for point-to-point data transfer but can come into play whenever your “SOAP-partner” starts to fiddle with their configuration because their tools allow them to.

SOAP: now that everything is said and done, we built RPC again

2 Likes