camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From atg roxx <atgr...@gmail.com>
Subject Re: Camel Jaxb- Not able to unmarshall a xml
Date Mon, 16 Apr 2012 20:50:16 GMT
Hi Chirstian,

Here I am afraid that I cant share the xsd as they are third party stuff.

-cheers,
atg roxx.

On Mon, Apr 16, 2012 at 9:19 PM, Christian Müller <
christian.mueller@gmail.com> wrote:

> Changing the generated classes is not the way you should go.
> Is it possible to share your XSD and the generated classes?
>
> Best,
> Christian
>
> On Mon, Apr 16, 2012 at 7:33 PM, atg roxx <atgroxx@gmail.com> wrote:
>
> > Hi Chirstian,
> >
> > After making all the changes suggested by you. Everything is working
> fine.
> >
> > But I have some issue here. I have to go and add namespace at each and
> > every  variable of the generated classes.
> >
> > This is big pain. Also if the wsdl get changed then then this process of
> > adding name space at each and every  element has to be repeated again.
> >
> > Is there any work around for this.
> >
> > -cheers,
> > atg roxx
> >
> >
> >
> > On Mon, Apr 16, 2012 at 5:56 PM, atg roxx <atgroxx@gmail.com> wrote:
> >
> > > Hi Christian,
> > >
> > > I got the solution for the previous question asked by me :
> > >
> > > You have to simply add the following in the package-info.java
> > >
> > > @javax.xml.bind.annotation.XmlSchema(namespace = "
> > > http://www.camel.apache.org/jaxb/example/order/1" ,
> > >
> > > xmlns = {
> > > @XmlNs(namespaceURI = "
> http://www.camel.apache.org/jaxb/example/order/1",
> > > prefix = "ns1"),
> > > @XmlNs(namespaceURI =
> > http://www.camel.apache.org/jaxb/example/address/1 ",
> > > prefix = "ns2")
> > > },
> > > elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
> > > }
> > >
> > >
> > >
> > > -cheers,
> > > atg roxx
> > >
> > > On Mon, Apr 16, 2012 at 4:32 PM, atg roxx <atgroxx@gmail.com> wrote:
> > >
> > >> Hi Christian,
> > >>
> > >> Thansk for the link.
> > >>
> > >> I run the test case given by you. It works fine but
> > >>
> > >> while marshalling  I can see the below xml and if you notice we dont
> > have
> > >> namespace for <order> or <id> element.
> > >>
> > >>
> > >> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> > >> <order xmlns="http://www.camel.apache.org/jaxb/example/order/1"
> > >> xmlns:ns2="http://www.camel.apache.org/jaxb/example/address/1">
> > >>     <id>1</id>
> > >>     <ns2:address>
> > >>         <ns2:street>Main Street</ns2:street>
> > >>         <ns2:streetNumber>3a</ns2:streetNumber>
> > >>         <ns2:zip>65843</ns2:zip>
> > >>         <ns2:city>Sulzbach</ns2:city>
> > >>     </ns2:address>
> > >> </order>
> > >>
> > >> -cheers,
> > >> atg roxx
> > >>
> > >> On Mon, Apr 16, 2012 at 4:02 PM, Christian Müller <
> > >> christian.mueller@gmail.com> wrote:
> > >>
> > >>> It's in SVN:
> > >>>
> > >>>
> >
> https://svn.apache.org/repos/asf/camel/trunk/components/camel-jaxb/src/test/java/org/apache/camel/example/
> > >>>
> > >>> Best,
> > >>> Christian
> > >>>
> > >>> On Mon, Apr 16, 2012 at 11:41 AM, atg roxx <atgroxx@gmail.com>
> wrote:
> > >>>
> > >>> > Hi Christian,
> > >>> >
> > >>> > Could you please provide the code for the Order and Address class.
> > >>> >
> > >>> >
> > >>> > -Regards,
> > >>> > atg roxx
> > >>> >
> > >>> > On Sun, Apr 15, 2012 at 12:37 PM, Christian Müller <
> > >>> > christian.mueller@gmail.com> wrote:
> > >>> >
> > >>> > > The interesting part is how do you define the
> > >>> > > "jaxbGetProductPriceOffersRequest"?
> > >>> > > However, I added a unit test to make sure it works and to
show
> how
> > >>> [1]. I
> > >>> > > hope with this example you are able to solve your issue.
> > >>> > >
> > >>> > > [1]
> > >>> > >
> > >>> > >
> > >>> >
> > >>>
> >
> https://svn.apache.org/repos/asf/camel/trunk/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatMultipleNamespacesTest.java
> > >>> > >
> > >>> > > Best,
> > >>> > > Christian
> > >>> > >
> > >>> > > On Fri, Apr 13, 2012 at 5:11 PM, atg roxx <atgroxx@gmail.com>
> > wrote:
> > >>> > >
> > >>> > > > Hi Arnaud,
> > >>> > > >
> > >>> > > > Yes we have different namespace   for GetProductPriceOffers
and
> > >>> > > > partner/request element also the classes corresponding
to them
> > have
> > >>> > their
> > >>> > > > respective namespace.
> > >>> > > >
> > >>> > > > Still I am not able unmarshall.
> > >>> > > >
> > >>> > > > My Camel Version is 2.8.2
> > >>> > > > I am doing marshalling and unmarshalling in the following
way:
> > >>> > > > from(Constants.ROUTE_GETPRODUCTPRICEOFFERS)
> > >>> > > > .to(Constants.LOG_IN_INFO_WITH_HEADERS)
> > >>> > > > .convertBodyTo(String.class)
> > >>> > > > .unmarshal(jaxbGetProductPriceOffersRequest)
> > >>> > > >                        .to(Constants.LOG_IN_INFO_WITH_HEADERS)
> > >>> > > > .marshal(jaxbGetProductPriceOffersRequest)
> > >>> > > > .log("after marshalling")
> > >>> > > > .to(Constants.LOG_IN_INFO_WITH_HEADERS)
> > >>> > > >  .process(new MondialRequestProcessor(userId, password))
> > >>> > > >  .log("Finished processing
> > >>> > > >
> > >>>
> "+MondialConstants.GETPRODUCTPRICEOFFERS+Constants.LOG_CORRELATIONID);
> > >>> > > >
> > >>> > > >
> > >>> > > > --cheers,
> > >>> > > > atg roxx
> > >>> > > > On Fri, Apr 13, 2012 at 12:20 PM, DEPREZ Arnaud AWL-IT
<
> > >>> > > > arnaud.deprez@atos.net> wrote:
> > >>> > > >
> > >>> > > > > Maybe it's a problem of namespaces.
> > >>> > > > >
> > >>> > > > > Can you tell me if you use different namespaces
for
> > >>> > > GetProductPriceOffers
> > >>> > > > > and partner/request element ?
> > >>> > > > > If they are different, it must be specified in
your JAXB java
> > >>> class
> > >>> > > > model.
> > >>> > > > >
> > >>> > > > > KR,
> > >>> > > > >
> > >>> > > > > Arnaud Deprez
> > >>> > > > >
> > >>> > > > >
> > >>> > > > > -----Original Message-----
> > >>> > > > > From: Christian Müller [mailto:christian.mueller@gmail.com]
> > >>> > > > > Sent: vendredi 13 avril 2012 12:58
> > >>> > > > > To: users@camel.apache.org
> > >>> > > > > Subject: Re: Camel Jaxb- Not able to unmarshall
a xml
> > >>> > > > >
> > >>> > > > > Which version of Camel do you use?
> > >>> > > > > How do you use the JAXB Marschaller/Unmarschaller
(explicitly
> > or
> > >>> via
> > >>> > > the
> > >>> > > > > FallbackTypeConverter)?
> > >>> > > > > Could you share your code?
> > >>> > > > >
> > >>> > > > > Best,
> > >>> > > > > Christian
> > >>> > > > >
> > >>> > > > > Sent from a mobile device
> > >>> > > > > Am 13.04.2012 12:45 schrieb "atg roxx" <atgroxx@gmail.com>:
> > >>> > > > >
> > >>> > > > > > Hi Guys,
> > >>> > > > > >
> > >>> > > > > > I am facing a problem.
> > >>> > > > > >
> > >>> > > > > > I am using camel jaxb to marshall and unmarshall
java
> objects
> > >>> which
> > >>> > > is
> > >>> > > > > > working fine for me till now.
> > >>> > > > > > But now I got a special case where I am not
able to
> properly
> > >>> > > unmarshall
> > >>> > > > > an
> > >>> > > > > > xml whose class have mulitple namespace (different
for root
> > >>> element
> > >>> > > and
> > >>> > > > > sub
> > >>> > > > > > elements).
> > >>> > > > > >
> > >>> > > > > > sample xml :
> > >>> > > > > >
> > >>> > > > > > Class corresponding to each <element>
is having different
> > >>> > namespace.
> > >>> > > > > >
> > >>> > > > > > I am using JaxbDataFormat for this unmarshalling
and
> setting
> > >>> the
> > >>> > > > > partclass
> > >>> > > > > > name to the root element.
> > >>> > > > > >
> > >>> > > > > > <GetProductPriceOffers>
> > >>> > > > > >  <partner>
> > >>> > > > > >            <Password>abc</Password>
> > >>> > > > > >            <UserID>xyz</UserID>
> > >>> > > > > >         </partner>
> > >>> > > > > >
> > >>> > > > > > <request>
> > >>> > > > > >  <HotelDetails>
> > >>> > > > > > <HotelAddress>
> > >>> > > > > > <City />
> > >>> > > > > > <Country>GB</Country>
> > >>> > > > > > <PostalCode />
> > >>> > > > > > <Region>GB</Region>
> > >>> > > > > > </HotelAddress>
> > >>> > > > > > <HotelChain>Sample Hotel Chain</HotelChain>
> > >>> > > > > >
> > <HotelCheckinDate>2011-08-19T04:55:02-04:00</HotelCheckinDate>
> > >>> > > > > >
> > >>> <HotelCheckoutDate>2011-08-24T04:55:02-04:00</HotelCheckoutDate>
> > >>> > > > > > <HotelName>Mariott</HotelName>
> > >>> > > > > > <HotelRating>5</HotelRating>
> > >>> > > > > > <NumberOfAdultTravelers>1</NumberOfAdultTravelers>
> > >>> > > > > > <NumberOfInfantTravelers>0</NumberOfInfantTravelers>
> > >>> > > > > > <NumberOfKidTravelers>0</NumberOfKidTravelers>
> > >>> > > > > > <NumberOfRooms>1</NumberOfRooms>
> > >>> > > > > > <NumberOfSeniorTravelers>0</NumberOfSeniorTravelers>
> > >>> > > > > > <NumberOfYouthTravelers>2</NumberOfYouthTravelers>
> > >>> > > > > > </HotelDetails>
> > >>> > > > > >  </request>
> > >>> > > > > > </GetProductPriceOffers>
> > >>> > > > > >
> > >>> > > > > >
> > >>> > > > > >
> > >>> > > > > > I am able to unmarshall it but when i check
the object
> > >>> created, I
> > >>> > > found
> > >>> > > > > > that the <request> and <partner>
object are not set to
> values
> > >>> in
> > >>> > the
> > >>> > > > xml
> > >>> > > > > > but are set to null.
> > >>> > > > > >
> > >>> > > > > >
> > >>> > > > > > Could anyone let me know what can be the issue
or how to
> > >>> resolve
> > >>> > > this .
> > >>> > > > > >
> > >>> > > > > >
> > >>> > > > > > --cheers,
> > >>> > > > > > atg roxx
> > >>> > > > > >
> > >>> > > > >
> > >>> > > > >
> > >>> > > > > Atos Worldline SA/NV - Chaussee de Haecht 1442
> Haachtsesteenweg
> > >>> > > > > - 1130 Brussels - Belgium
> > >>> > > > > RPM-RPR Bruxelles-Brussel - TVA-BTW BE 0418.547.872
> > >>> > > > > Bankrekening-Compte Bancaire-Bank Account 310-0269424-44
> > >>> > > > > BIC BBRUBEBB - IBAN BE55 3100 2694 2444
> > >>> > > > >
> > >>> > > > > "The information contained in this e-mail and any
attachment
> > >>> thereto
> > >>> > is
> > >>> > > > > confidential and may contain information which
is protected
> by
> > >>> > > > intellectual
> > >>> > > > > property rights.
> > >>> > > > > This information is intended for the exclusive
use of the
> > >>> > recipient(s)
> > >>> > > > > named above.
> > >>> > > > > This e-mail does not constitute any binding relationship
or
> > offer
> > >>> > > toward
> > >>> > > > > any of the addressees.
> > >>> > > > > If you are not one of the addressees , one of their
employees
> > or
> > >>> a
> > >>> > > proxy
> > >>> > > > > holder entitled to hand over this message to the
> addressee(s),
> > >>> any
> > >>> > use
> > >>> > > of
> > >>> > > > > the information contained herein (e.g. reproduction,
> > divulgation,
> > >>> > > > > communication or distribution,...) is prohibited.
> > >>> > > > > If you have received this message in error, please
notify the
> > >>> sender
> > >>> > > and
> > >>> > > > > destroy it immediately after.
> > >>> > > > > The integrity and security of this message cannot
be
> guaranteed
> > >>> and
> > >>> > it
> > >>> > > > may
> > >>> > > > > be subject to data corruption, interception and
unauthorized
> > >>> > amendment,
> > >>> > > > for
> > >>> > > > > which we accept no liability."
> > >>> > > > >
> > >>> > > > >
> > >>> > > >
> > >>> > >
> > >>> >
> > >>>
> > >>
> > >>
> > >
> >
>

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