Glen Daniels wrote on 04/05/2006 10:30:49 AM:

> Hi Igor:
> 
> > I'm trying to use Axis2 for dispatching and invoking web services, 
while
> > substituting my own XML parser/serializer/object model in place of 
AXIOM. 
> 
> I'm not sure I understand what you're trying to do here.  All the Axis2 
> components are built in terms of AXIOM, and the "dispatching and 
> invoking" parts are all based on being able to use AXIOM to get at 
> either the SOAP headers or the SOAP body.  Plus the Handler framework 
> requires the messages to be in terms of AXIOM so that common code to do 
> reliability/security/etc can be plugged in in a universal way.  AXIOM 
> itself can "get out of the way" for body processing (see recent 
> DataBinding discussion, for instance) by letting you at the 
> XMLStreamReader directly.  But because it's AXIOM, we also have the 
> ability to *tell* if anyone in the processing pipeline needs the whole 
> OM to be built (for instance security) - in that case you can still use 
> code that's been written in terms of XMLStreamReader, but behind the 
> scenes AXIOM also makes the in-memory model.
> 
> In short, AXIOM is really pretty core to the way Axis2 works, and that 
> seems like goodness to me.
> 
> What scenarios are you trying to enable?
> 
> Thanks,
> --Glen

Hi, Glen,

Thanks for the reply.

We have an XML processing language (XJ, see the link in my signature) that
has its own ways of parsing and constructing XML, compiled down to a
non-AXIOM representation.  We need generate some web service invocation 
and
implementation code within this language.  It initially looked like Axis2
would be a good framework to use for the web services part.  However, we
cannot convert our runtime representation of XML to AXIOM.

Basically, I don't mind generating the Axis2 SOAPEnvelope objects that
contain the necessary dispatching info, but the bodies of the messages
should not be present in the AXIOM representation (a waste of time in
parsing them, and a waste of space, since we'll provide our own XML
representation anyway).

Is there a way to do this, or will Axis2 always parse the body using
its own parser?  FWIW, it's not good enough for us to get access to the
XMLStreamReader (which is StAX, IIRC) -- we have our own parser that we'll
need to use.  And yes, I'm aware that we'll have to reimplement the
security subsystem in this case.  Basically, how much of the Axis2 code,
in your estimation, will we be able to reuse?

Thanks,
        Igor
-- 
Igor Peshansky  (note the spelling change!)
IBM T.J. Watson Research Center
XJ: No More Pain for XML?s Gain (http://www.research.ibm.com/xj/)

Reply via email to