Rubber Duck just saved me. What about you?
To put this into context: I'm still minor, in Europe, and I was hired into SW company as backend developer. I'm making about 2-3 times as much as my friends in fastfoods. I'm basically making WS...
To put this into context: I'm still minor, in Europe, and I was hired into SW company as backend developer. I'm making about 2-3 times as much as my friends in fastfoods.
I'm basically making WS that would be unified wrapper for about 15 another WS - instead of crafting request for each of those, you will just call the API and it will do everything for you.
Everything was fine, until I encountered a nightmare: WSDL/SOAP protocol over HTTPS with need to use client certificate.
Full of false hope, I thought: "It'll be easy, I finished communication with another companies in few hours, this will be quick".
I was very wrong. I spent countless hours on this. I tried 3 programming languages and 4 different frameworks, copy-pasting solutions from stack overflow and wondering why does this still throw errors! I copied it from stack overflow! I used windows alongside linux and installed like 10 wsdl/soap clients from 2008 forums.
I created 8 or so SO questions, most about different language/framework, but the same problem.
Worth of mentoining, at the time, I could obtain wsdl and xsd of the WS with usage of two certificates (crt.pem and key.pem) over PHP. I tried to use PHP SoapClient, which accepted just one certificate file. I used .pem certificate that I received and should get the work done.
Then, I started writing the final question. Including PHP that downloaded wsdl and SoapClient that didn't work. Knowing someone will probably want to see certificates, I used cat key.pem cert.pem > certCombined.pem
and diff certCombined.pem cert.pem
. cert.pem was the certificate I received and should work. I expected no differences. When I saw two pages of differences, I started to suspect the cert I was given is wrong. So I pointed the PHP SoapClient to certCombined - and it started working!
This would have never happened (at least for several more hours) unless I known someone will want to see diff between working and not-working certificates. Thank you, rubber duck debugging! Next time I'll be solving something, I'll write on paper everything I use and know.
What are your stories?