That all happens in CXF before it gets to SY. I worked with SAAJ quite a bit back in my Sun days, looks like the basic factory methods are still around:
You can pass in a stream and the HTTP headers to create a new SOAPMessage instance.
Thanks Keith - I'll ping Alessio. In the meantime, any chance SwitchYard has some basic support for parsing a soap message using saaj?
On 4/28/2016 9:22 AM, Keith Babo wrote:
On Apr 21, 2016, at 12:16 PM, Eric Wittmann <firstname.lastname@example.org> wrote:
I'd like to reboot the discussion around SOAP support in apiman. Originally I was thinking we could implement it without parsing the full message. I even have some code for doing this.
However, after thinking about it some more (and after some discussion about soapaction vs. resource path in a separate jira) I'm thinking we simply have an option that will parse the entire soap message upfront *as an option*.
I'd like any opinions anyone might have on this matter. :) The idea would be to handle the soap message in a java-standard fashion (jax-ws, javax.xml.soap, SAAJ, etc). The resulting soap message would be available to policies as part of the policy context, and it could be processed however the policy wants.
When proxying to the back-end, the (possibly modified) soap message will be serialized to a string and written to the back-end API.
This seems like a pragmatic first step to me. The SAAJ object model is DOM-backed, so this approach would give users a lot of flexibility in processing the message.
Question for @Keith primarily: do you have any advice/code that efficiently parses a soap message? And is there someone you've worked with that has a lot of SOAP experience who could perhaps chime in some expertise?
I would talk to Alessio on the JBoss WS team - I expect they have done quite a bit of performance tuning over the years for EAP.