cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kampf, Eric" <Eric.Ka...@Kronos.com>
Subject RE: Aegis Binding without namespaces
Date Sat, 02 Oct 2010 01:57:58 GMT
Hmmm.  If I understand this correctly (and I may not), this would work but it might not be
maintainable.  Here's why:  From what I've seen of Aegis, the namespace mappings are specified
on a per-object basis.  The objects I am dealing with a fairly complex (i.e. many layers of
nested objects) and they are maintained by other developers.  The first object change that
did not have a corresponding Aegis config change might break the service.

In any case I'll still give this a try.  Hopefully I will find a magic switch in Aegis that
simplifies the overriding of namespaces.

I'll let you know how it goes.

Thanks.

-Eric

From: Sergey Beryozkin [mailto:sberyozkin@gmail.com]
Sent: Friday, October 01, 2010 4:20 PM
To: users@cxf.apache.org
Cc: Kampf, Eric
Subject: Re: Aegis Binding without namespaces

Yes, this should work, override a createReader method in the provider and return a custom
reader, here's a basic example :

http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/CustomXmlStreamReader.java

cheers, Sergey

On Fri, Oct 1, 2010 at 8:52 PM, Daniel Kulp <dkulp@apache.org<mailto:dkulp@apache.org>>
wrote:
On Friday 01 October 2010 2:28:34 pm Kampf, Eric wrote:
> Sergey,
>
> I implemented your suggestion and it worked for outgoing data.
> Unfortunately incoming data is an issue.  Aegis still requires the
> namespace information to be able to unmarshal the XML.
>
> So what I am really looking for is a way to entirely disable namespace
> mapping in the binding.  I realize it is not directly supported, but
> perhaps there is some way to "trick" the binding?  Any suggestions?
Is it possible to do the reverse on the way in?  Wrapper the XMLStreamReader
with one that always returns a preconfigured namespace for all the calls the
pull a namespace?

Dan


>
> Thanks again for all your help to this point.
>
> -Eric
>
> -----Original Message-----
> From: Sergey Beryozkin [mailto:sberyozkin@gmail.com<mailto:sberyozkin@gmail.com>]
> Sent: Wednesday, September 29, 2010 5:45 AM
> To: users@cxf.apache.org<mailto:users@cxf.apache.org>
> Subject: Re: Aegis Binding without namespaces
>
> Hi Eric
>
> the way you can do it is as follows.
>
> Extend AegisElementProvider [1]  and override its createStreamWriter method
> and create a custom writer, see [2] for an example, just pass to it the
> writer instance AegisElementProvider creates.
>
> You just probably need to override writeNamespace(...) with a no-op
> implementation and writeStartElement and block the namespaces.
>
> I believe you work with DOSGI. In that case, do not use
> org.apache.cxf.rs.databindng property but rather an
> "org.apache.cxf.rs.providers" and list the full name of your custom
> provider.
>
> hope it helps, Sergey
>
> [1]
> http://svn.apache.org/repos/asf/cxf/trunk/rt/frontend/jaxrs/src/main/java/o
> rg/apache/cxf/jaxrs/provider/AegisElementProvider.java [2]
> http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/java/org/
> apache/cxf/systest/jaxrs/CustomXmlStreamWriter.java
>
> On Wed, Sep 29, 2010 at 2:15 AM, Kampf, Eric <Eric.Kampf@kronos.com<mailto:Eric.Kampf@kronos.com>>
wrote:
> > Yes the reason for this is that our primary clients are mobile devices,
> > some of which have very limited XML parsing capabilities.  REST seems to
> > emphasize simplicity and namespace handling is not always simple.  SOAP
> > is a little too 2009 for my taste.  :-)
> >
> > -----Original Message-----
> > From: Benson Margulies [mailto:bimargulies@gmail.com<mailto:bimargulies@gmail.com>]
> > Sent: Tuesday, September 28, 2010 9:09 PM
> > To: users@cxf.apache.org<mailto:users@cxf.apache.org>
> > Subject: Re: Aegis Binding without namespaces
> >
> > It's a big problem. The mapping of packages to namespaces avoids
> > collisions. If you don't want namespaces, then you have to find
> > another solution.
> >
> > I personally find no-namespace XML to be entirely too 1999 for my
> > taste, but I imagine that you have a good reason for it.
> >
> > On Tue, Sep 28, 2010 at 4:49 PM, Daniel Kulp <dkulp@apache.org<mailto:dkulp@apache.org>>
wrote:
> > > I honestly don't think anyone has looked at this at all.   If it's
> >
> > something
> >
> > > you need, you'll likely have to work on it and submit patches.
> > >
> > > Dan
> > >
> > > On Tuesday 28 September 2010 4:26:35 pm Kampf, Eric wrote:
> > >> Hello,
> > >>
> > >> I would like to use CXF's Aegis data binding for a REST service (I
> > >> have multiple reasons for preferring Aegis over JAXB...).  The
> > >> biggest impediment I face however is the presence of namespaces on
> > >> all elements. This will be a hardship for most of our clients.
> > >>
> > >> I see that this topic came up a couple of years ago on this list:
> > >> http://www.mail-archive.com/cxf-user@incubator.apache.org/msg04683.htm
> > >> l
> >
> > .
> >
> > >> It even resulted in the creation of a JIRA issue which is still listed
> >
> > as
> >
> > >> open:
> > https://issues.apache.org/jira/browse/CXF-1291?page=com.atlassian.jira.pl
> > u
> >
> > >> gin.system.issuetabpanels:comment-tabpanel.
> > >>
> > >> Does anyone know if there is a solution for this?  Our clients are
> >
> > simply
> >
> > >> not going to be able to use namespaces.  Is there any hope of
> >
> > configuring
> >
> > >> Aegis to function without namespaces?
> > >>
> > >> Thanks.
> > >>
> > >> -Eric
> > >
> > > --
> > > Daniel Kulp
> > > dkulp@apache.org<mailto:dkulp@apache.org>
> > > http://dankulp.com/blog
--
Daniel Kulp
dkulp@apache.org<mailto:dkulp@apache.org>
http://dankulp.com/blog


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message