News for hackers. Stuff that matters.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by kstrauser on Tuesday September 15, 2026 @12:24AM (#49707684)
So, first up: why? Why is everything still using SOAP? I'm not talking down on Brazil, by the way. I've worked in American healthcare tech, and at some point you find yourself learning EDI to talk to insurance companies.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by bblb on Tuesday September 15, 2026 @12:35AM (#49707751)
Maybe it's a solved problem and SOAP 1.2 is good enough for that particular job.

We _still_ use TCP/IP and it's v4 is from 1981.

edit: I once looked deep into Remote PowerShell. How it's actually built. Dear. God. XML enveloped inside XML inside another XML wrapped around HTTP. Add some certificate based encryption for the HTTP envelope and some more encryption for the Kerberos messaging inside the serialized XML wrapped in envelopes and wrappings. Now THAT'S a communication protocol. :D

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by wwn_se on Tuesday September 15, 2026 @02:53AM (#49708725)
SOAP is perfect for integration between organisations (for internal communication other formats is usually better). It supports schema first in a natural way meaning as long as both parties agree on a schema nothing else really need to be shared. XML is mature and supported in all languages with code generation its more or less transparent to the dev.

WS auth is horrible though and a bearer token (and tls) in the header is definitely the way to go.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by throwaway7356 on Tuesday September 15, 2026 @03:14AM (#49708884)
> XML is mature and supported in all languages with code generation its more or less transparent to the dev.

No, XML is still not mature. They still need to fix the security issues everyone reimplements every time such as local file disclosure via DTDs, exploding documents due to entity expansion and so on. It basically doesn't handle untrusted input well, like SQL built from strings without parameter bindings.

I hope this is reasonable and doesn't use XML Security or similar extensions that add a whole stack of other security issues on top that everyone reimplements when adding SAML support.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by apelapan on Tuesday September 15, 2026 @03:24AM (#49708965)
XML is not perfect, but it is mature. It has been the same for a very long time, all the warts and gotchas are well known. You need to be careful about the same things in 2026 as you did back in 2006.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by xienze on Tuesday September 15, 2026 @03:24AM (#49708964)
> They still need to fix the security issues everyone reimplements every time such as local file disclosure via DTDs, exploding documents due to entity expansion and so on.

Who is doing this reimplementation? You're supposed to be using mature, battle-tested libraries for parsing these formats. Writing your own parser for just about any format is a fool's errand when good implementations that have already addressed these issues exist. Even a simple format like JSON is not immune to performance, safety, and correctness pitfalls.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by throwaway7356 on Tuesday September 15, 2026 @02:54PM (#49717095)
Many libraries still have unsafe defaults. They come from the XML-age where security concerns were minor (SQL injection was still new to most!)

Using XML in a safe way requires you to study what is wrong with XML first. That is not what many people do.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by qwertyuiop12 on Tuesday September 15, 2026 @12:51AM (#49707852)
SOAP is good for flexible APIs due to xml “eats anything”, the “included” support for signatures and schema validation.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by silon42 on Tuesday September 15, 2026 @01:55AM (#49708289)
Ironically, most XML signatures I had to use, they usually didn't schema validate.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by tyre on Tuesday September 15, 2026 @02:54AM (#49708728)
I implemented 837p during the ChangeHealthcare hacks. Once I got the hang of it, it wasn’t too difficult to build a library with OOP that could recursively render itself.

The real difficulty was payers who did not follow the spec, semantically. Whether to include certain fields or not and different interpretations of fields/values was maddening.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by cyberax on Tuesday September 15, 2026 @12:48AM (#49707829)
Why it _shouldn't_ be SOAP?

It's a perfectly fine protocol, with a rigid schema and mature code generation support for all relevant languages. It's not the sexiest protocol, but it gets the job done.

And what are the alternatives? JSON schema?

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by justinclift on Tuesday September 15, 2026 @01:10AM (#49707986)
> mature code generation support for all relevant languages.

Heh, "relevant languages" is kind of an interesting term there. If the relevant language is Java then sure, it's fine.

Some popular modern languages (ie Go) don't have good SOAP support (yet). At least not to the point of being able to point them at WSDL/XSD specs and have everything auto-generated. :(

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by mrweasel on Tuesday September 15, 2026 @03:02AM (#49708796)
That seems like a Go problem. I don't exactly love SOAP and WSDL, but it was the default choice for Java and .Net 10 - 15 years ago in enterprise applications. Given the complexity, rewriting it a few years late, just to switch from a perfectly functional SOAP API to REST makes no sense and would mean that you either run two stack, or force every integrator to rewrite their software.

That's just no how the real world works. When this was launched Go probably wasn't a relevant language, Rust probably barely existed and the whole thing was designed for a corporate setting, where Java and .Net are the standards. All those who are asking "Why SOAP?" or suggests replacing it seems rather naive about how most corporate software is sold, designed, built and maintained, as well as expected lifetimes of solutions.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by justinclift on Tuesday September 15, 2026 @06:26AM (#49710289)
> That seems like a Go problem.

Yeah, fully agree. I was super surprised to find the SOAP support is practically non-existing too, as Go is really strong in lots of other areas. :(

That being said, SOAP's stronghold is clearly the Java ecosystem. Wonder if it's as popular in any other non-java-ecosystem based languages?

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by marky1991 on Tuesday September 15, 2026 @09:06PM (#49720958)
Eg Python is barely trudging along with random forks of a library that stopped being supported 10 years ago, each fork only getting maintained for about a year at a time.

I really think outside of Java and c#, soap is totally dead.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by ivan_gammel on Tuesday September 15, 2026 @01:20AM (#49708050)
I think that‘s a matter of days and few hundred dollars in tokens to port it to Go if you really need it. Porting is where AI can do a really good job with the right instructions.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by justinclift on Tuesday September 15, 2026 @01:59AM (#49708318)
Yeah, kind of.

It's more than just a few days of effort though. Sme of the members of my team at work have been working on adding SOAP 1.1 support. It's a significant amount of time and effort though.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by lazide on Tuesday September 15, 2026 @03:08AM (#49708838)
WSDL/XSD specs in this case seem to be incomplete or just wrong.

Most places in my experience just write their own wrappers/frameworks to generate what they know works, and go to town. I’ve done it too.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by justinclift on Tuesday September 15, 2026 @06:12AM (#49710184)
> WSDL/XSD specs in this case seem to be incomplete or just wrong.

Are you meaning in my comment, or in the GitHub repo the article references?

Asking because AFAIK the theory of having (accurate) vendor provided WSDL/XSD files is that you can generate a bunch of code (ie parsers, strong validation) that works with it, generate tests. There are additionally well developed SOAP specific GUIs (ie www.soapui.org) which will directly load the WSDL/XSD files and let you immediately make test network calls to validate things.

Though sure, you can do the above manually without WSDL/XSD files, but if you have accurate ones provided to you by vendors then it makes things a lot easier.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by lazide on Tuesday September 15, 2026 @07:07AM (#49710658)
Are you not reading the thread where people with direct experience with these specific backends are noting the WSDLs either are not accessible or don’t match the actual services?

Which is also my experience too.

Or have you not dealt with decade+ long services with severe inertia/lockin? Because that is what lets them get away with this.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by justinclift on Tuesday September 15, 2026 @09:24AM (#49712165)
> Are you not reading the thread where people with direct experience with these specific backends are noting the WSDLs either are not accessible or don’t match the actual services?

Correct, yes I haven't.

Other members of staff where I'm working are from Java backgrounds, and have described (in detail) WSDL/XSD (when things are accurate) in positive terms as I put above.

And yeah, I'm presently dealing with vendor specs/docs that don't match what's actually sent over the wire, and it's a huge pain in the arse. And the vendor doesn't give a shit, as like you allude to they're in the telco business so the lock in aspect you mention is correct to. :(

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by lazide on Wednesday September 16, 2026 @01:31AM (#49722457)
sorry to hear that. if it’s any consolation, once you do get something that works, it tends to be pretty solid job security.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by userbinator on Tuesday September 15, 2026 @12:53AM (#49707872)
And what are the alternatives? JSON schema?

ASN.1? It's even more mature, and the de-facto DER/BER encoding is far more efficient to generate and parse than anything XML-based.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by coredev_ on Tuesday September 15, 2026 @01:01AM (#49707926)
I think the biggest problems with SOAP was the implementations, never the standard. WCF...
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by anticensor on Tuesday September 15, 2026 @01:11AM (#49707990)
An adaptation of PEPPOL (also XML, but at least standardised)?
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by vintermann on Tuesday September 15, 2026 @02:29AM (#49708517)
Oh yes, part of the gigantic OASIS UBL (ISO/IEC 19845) and EN 16931 (CEN/TC 434). If young devs today think AI likes to build massive overengineered jargon-filled monstrosities, they should see what they learned it from. Never mind how to get a paycheck, we'll worry about that later, freeing humans from working on this stuff is a humanitarian obligation.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by userbinator on Tuesday September 15, 2026 @01:03AM (#49707939)
The answer is probably "because SOAP was the hot new thing when they first decided to do this".

Working with enterprise software is in general a horrific experience, especially that which originated in the 90s at the peak of OOP dogma-cults and insane architecture-astronautism abstraction mixed with SOLIDly thick levels of bureaucracy.

My memories of COM, CORBA, DCE/RPC, XML, etc. are not great. Some of the stuff reads like satire today, but people were actually serious about it: https://en.wikipedia.org/wiki/Object_Management_Group (I recall an article in a physical magazine long ago which started with "The Object Management Group's Working Task Force, also known as OMGWTF...")

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by beachy on Tuesday September 15, 2026 @01:33AM (#49708138)
Sat in many meetings talking about CORBA and COM. And XML is the gift that just keeps giving. Thank god that stuff is in the rear view mirror.

However in the age of AI I don't know if it matters too much that SOAP is the interchange. It is easy enough to build clients against it. It works. It's probably quite secure. Who cares?

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by altmanaltman on Tuesday September 15, 2026 @01:44AM (#49708218)
> especially that which originated in the 90s at the peak of OOP dogma-cults and insane architecture-astronautism abstraction mixed with SOLIDly thick levels of bureaucracy.

this is hacker poetry

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by chrisandchris on Tuesday September 15, 2026 @02:07AM (#49708369)
> So, first up: why? Why is everything still using SOAP?

That‘s the question? And not why every single invoice has to go through the government?

I would call that developers loss of focus.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by toast0 on Tuesday September 15, 2026 @01:09AM (#49707975)
SOAP is terrible[1], but if the whole country is on board, change is very difficult and you're not going to move to anything simpler because it would either be too simple to actually satisfy the need or too simple to satisfy the selection comittee.

[1] The whole thing with wsdl is like an elaborate prank. Without fail, the WSDL files are impossible to obtain and don't reflect the service as deployed or documented. Documented equivalent forms will not be treated as equivalent. Two instances of a 'standard' service will not accept the same XML. And I only worked with simple SOAP services with straight forward payloads.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by doc_ick on Tuesday September 15, 2026 @01:45AM (#49708231)
Unfortunately that seems like bad history. I’ve only had good experience with wsdls, internally and externally, but they were generated with the services and readily available.
Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by qw on Tuesday September 15, 2026 @02:56AM (#49708741)
I have the same experience as you. I have probably worked with a few dozen SOAP services in my time, so perhaps I have been "lucky", but WSDLs have not been an issue for me.

WSDL is in some ways more user-friendly than openapi schemas. They have a rich set of types that mostly just work as expected. When I try to generate models from an OpenAPI JSON file, I often find myself either overriding the models or making scripts/plugins to rewrite the json to fix types. An example of this is using proper decimals instead of doubles, which is crucial in my line of work.

Re:Every invoice in Brazil's economy runs on SOAP 1.2. We ma... by carefree-bob on Wednesday September 16, 2026 @07:11PM (#49734299)
I've had positive experiences with wsdls, they offer a lot of advantages over REST/JSON, together with some up front onboarding costs.

It really depends on the service, does it make it easy to obtain the wsdl and more importantly does it honor the type conventions. There is no getting around the fact that services need to maintain consistent behavior and document that behavior, the wsdl is just a transport layer for that organizational commitment. If you have the commitment, then you have a good experience, if you don't, you don't, and whether you are using JSON or SOAP doesn't matter.