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.


On Apr 28, 2016, at 10:46 AM, Eric Wittmann <> wrote:

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 <> 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.