I wrote a children’s book about woodworking with hand tools.
I was querying a Postgres table with about 4 million rows and writing some of the fields to a CSV.
I knew loading the rows into RAM was unacceptable, so I used the
ResultHandler to process the records. The code ran fine locally, but in
production we were having memory usage issues.
I was writing a WSDL-first SOAP 1.1 service (server) using Apache CXF.
I needed to directly access the XML DOM of the SOAP Header and Body, so I did not want to use
the standard JAXB data binding. My solution was to implement
a Provider using message mode. However,
retrieving the SOAPAction inside the Provider’s
invoke(SOAPMessage msg) method
was not intuitive to me.
The WSDL for this service was produced by a standards body, so I tried to avoid modify it.
Each operation in the WSDL specified a
soapAction, therefore I
assumed I needed the value of the
SOAPAction HTTP header to process the