You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alex Craddock <na...@gmail.com> on 2007/07/03 15:05:02 UTC

[Axis2] Problems with addinf prefix's to attributes, or removing them from headers

Hello,

In the following xml that I am sending using axis2, the lowest child
elements eg, TAID should have the prefix ns2, as if it doesn't then i am
unable to connect and use a web service provided by a third party company, I
am using the below to create the serializer for the bean that i am using,

        QName envelopeQN = new QName("http://api.content.tripadvisor.com
","HotelOptions","");
        QName hotelOptionsQN = new QName("http://api.content.tripadvisor.com
","HotelOptions");


call.registerTypeMapping(HotelOptions.class,
                                    hotelOptionsQN,
                                    new
org.apache.axis.encoding.ser.BeanSerializerFactory(HotelOptions.class,
envelopeQN),
                                    new
org.apache.axis.encoding.ser.BeanDeserializerFactory(HotelOptions.class,
envelopeQN));



<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body>
         <ns1:getHotel soapenv:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="con:getHotel">
            <ns2:HotelOptions xmlns:ns2="http://api.content.tripadvisor.com
">
               <TAID>85380</TAID>
               <clientID xsi:nil="true"/>

<clientLoginID>832924179B0DACCAA58338B6D9A03F78</clientLoginID>
               <domain>com</domain>
               <maxUserReviewSummaries>5</maxUserReviewSummaries>
               <maxUserReviews>5</maxUserReviews>
               <startUserReviewID>0</startUserReviewID>
               <userReviewOffset>0</userReviewOffset>
               <userReviewSortOrder>0</userReviewSortOrder>
               <userReviewSummaryOffset>0</userReviewSummaryOffset>
            </ns2:HotelOptions>
         </ns1:getHotel>
      </soapenv:Body>
   </soapenv:Envelope>

Does anyone have any ideas as to why i am not getting the prefix's on the
child elements?

Regards

Alex.

Re: [Axis2] Problems with addinf prefix's to attributes, or removing them from headers

Posted by Alex Craddock <na...@gmail.com>.
Yup they do thanks for the help.

On 7/3/07, Anne Thomas Manes <at...@gmail.com> wrote:
>
> The generated stubs should do it automatically.
>
> On 7/3/07, Alex Craddock <na...@gmail.com> wrote:
> >
> > I have just created my stubs using the WSDL"Java (didnt no it existed,
> > thanks for mentioning it saves me a lot of time) and yes the WSDL does
> > specify as elementFormDefault="qualified"
> >
> > How would I make it so that all my bean elements are qualified correctly
> > to use with the service?
> >
> > Alex.
> >
> > On 7/3/07, Anne Thomas Manes <at...@gmail.com> wrote:
> > >
> > > I assume you mean Axis rather than Axis2. (Axis2 doesn't use
> > > BeanSerializer, nor does it support SOAP encoding.)
> > > What does the WSDL say? Does it specify elementFormDefault="qualified"
> > > on the schema that defines the HotelOptions type? Are you creating your
> > > client stub using WSDL2Java?
> > >
> > > Anne
> > >
> > >
> > > On 7/3/07, Alex Craddock < nakories@gmail.com> wrote:
> > > >
> > > > Hello,
> > > >
> > > > In the following xml that I am sending using axis2, the lowest child
> > > > elements eg, TAID should have the prefix ns2, as if it doesn't then i am
> > > > unable to connect and use a web service provided by a third party company, I
> > > > am using the below to create the serializer for the bean that i am using,
> > > >
> > > >         QName envelopeQN = new QName("
> > > > http://api.content.tripadvisor.com","HotelOptions","");
> > > >         QName hotelOptionsQN = new QName("
> > > > http://api.content.tripadvisor.com","HotelOptions");
> > > >
> > > >
> > > > call.registerTypeMapping (HotelOptions.class,
> > > >                                     hotelOptionsQN,
> > > >                                     new
> > > > org.apache.axis.encoding.ser.BeanSerializerFactory(
> > > > HotelOptions.class, envelopeQN),
> > > >                                     new
> > > > org.apache.axis.encoding.ser.BeanDeserializerFactory (
> > > > HotelOptions.class, envelopeQN));
> > > >
> > > >
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > >    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ "
> > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> > > > ">
> > > >       <soapenv:Body>
> > > >          <ns1:getHotel soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> > > > xmlns:ns1="con:getHotel">
> > > >             <ns2:HotelOptions xmlns:ns2="
> > > > http://api.content.tripadvisor.com">
> > > >                <TAID>85380</TAID>
> > > >                <clientID xsi:nil="true"/>
> > > >
> > > > <clientLoginID>832924179B0DACCAA58338B6D9A03F78</clientLoginID>
> > > >                <domain>com</domain>
> > > >                <maxUserReviewSummaries>5</maxUserReviewSummaries>
> > > >                <maxUserReviews>5</maxUserReviews>
> > > >                <startUserReviewID>0</startUserReviewID>
> > > >                <userReviewOffset>0</userReviewOffset>
> > > >                <userReviewSortOrder>0</userReviewSortOrder>
> > > >                <userReviewSummaryOffset>0</userReviewSummaryOffset>
> > > >             </ns2:HotelOptions>
> > > >          </ns1:getHotel>
> > > >       </soapenv:Body>
> > > >    </soapenv:Envelope>
> > > >
> > > > Does anyone have any ideas as to why i am not getting the prefix's
> > > > on the child elements?
> > > >
> > > > Regards
> > > >
> > > > Alex.
> > > >
> > > >
> > >
> >
>

Re: [Axis2] Problems with addinf prefix's to attributes, or removing them from headers

Posted by Anne Thomas Manes <at...@gmail.com>.
The generated stubs should do it automatically.

On 7/3/07, Alex Craddock <na...@gmail.com> wrote:
>
> I have just created my stubs using the WSDL"Java (didnt no it existed,
> thanks for mentioning it saves me a lot of time) and yes the WSDL does
> specify as elementFormDefault="qualified"
>
> How would I make it so that all my bean elements are qualified correctly
> to use with the service?
>
> Alex.
>
> On 7/3/07, Anne Thomas Manes <at...@gmail.com> wrote:
> >
> > I assume you mean Axis rather than Axis2. (Axis2 doesn't use
> > BeanSerializer, nor does it support SOAP encoding.)
> > What does the WSDL say? Does it specify elementFormDefault="qualified"
> > on the schema that defines the HotelOptions type? Are you creating your
> > client stub using WSDL2Java?
> >
> > Anne
> >
> >
> > On 7/3/07, Alex Craddock < nakories@gmail.com> wrote:
> > >
> > > Hello,
> > >
> > > In the following xml that I am sending using axis2, the lowest child
> > > elements eg, TAID should have the prefix ns2, as if it doesn't then i am
> > > unable to connect and use a web service provided by a third party company, I
> > > am using the below to create the serializer for the bean that i am using,
> > >
> > >         QName envelopeQN = new QName("
> > > http://api.content.tripadvisor.com","HotelOptions","");
> > >         QName hotelOptionsQN = new QName("
> > > http://api.content.tripadvisor.com","HotelOptions");
> > >
> > >
> > > call.registerTypeMapping (HotelOptions.class,
> > >                                     hotelOptionsQN,
> > >                                     new
> > > org.apache.axis.encoding.ser.BeanSerializerFactory(HotelOptions.class,
> > > envelopeQN),
> > >                                     new
> > > org.apache.axis.encoding.ser.BeanDeserializerFactory (
> > > HotelOptions.class, envelopeQN));
> > >
> > >
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > >    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ "
> > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> > > ">
> > >       <soapenv:Body>
> > >          <ns1:getHotel soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> > > xmlns:ns1="con:getHotel">
> > >             <ns2:HotelOptions xmlns:ns2="
> > > http://api.content.tripadvisor.com">
> > >                <TAID>85380</TAID>
> > >                <clientID xsi:nil="true"/>
> > >
> > > <clientLoginID>832924179B0DACCAA58338B6D9A03F78</clientLoginID>
> > >                <domain>com</domain>
> > >                <maxUserReviewSummaries>5</maxUserReviewSummaries>
> > >                <maxUserReviews>5</maxUserReviews>
> > >                <startUserReviewID>0</startUserReviewID>
> > >                <userReviewOffset>0</userReviewOffset>
> > >                <userReviewSortOrder>0</userReviewSortOrder>
> > >                <userReviewSummaryOffset>0</userReviewSummaryOffset>
> > >             </ns2:HotelOptions>
> > >          </ns1:getHotel>
> > >       </soapenv:Body>
> > >    </soapenv:Envelope>
> > >
> > > Does anyone have any ideas as to why i am not getting the prefix's on
> > > the child elements?
> > >
> > > Regards
> > >
> > > Alex.
> > >
> > >
> >
>

Re: [Axis2] Problems with addinf prefix's to attributes, or removing them from headers

Posted by Alex Craddock <na...@gmail.com>.
I have just created my stubs using the WSDL"Java (didnt no it existed,
thanks for mentioning it saves me a lot of time) and yes the WSDL does
specify as elementFormDefault="qualified"

How would I make it so that all my bean elements are qualified correctly to
use with the service?

Alex.

On 7/3/07, Anne Thomas Manes <at...@gmail.com> wrote:
>
> I assume you mean Axis rather than Axis2. (Axis2 doesn't use
> BeanSerializer, nor does it support SOAP encoding.)
> What does the WSDL say? Does it specify elementFormDefault="qualified" on
> the schema that defines the HotelOptions type? Are you creating your client
> stub using WSDL2Java?
>
> Anne
>
>
> On 7/3/07, Alex Craddock < nakories@gmail.com> wrote:
> >
> > Hello,
> >
> > In the following xml that I am sending using axis2, the lowest child
> > elements eg, TAID should have the prefix ns2, as if it doesn't then i am
> > unable to connect and use a web service provided by a third party company, I
> > am using the below to create the serializer for the bean that i am using,
> >
> >         QName envelopeQN = new QName("http://api.content.tripadvisor.com","HotelOptions","");
> >
> >         QName hotelOptionsQN = new QName("
> > http://api.content.tripadvisor.com","HotelOptions");
> >
> >
> > call.registerTypeMapping (HotelOptions.class,
> >                                     hotelOptionsQN,
> >                                     new
> > org.apache.axis.encoding.ser.BeanSerializerFactory(HotelOptions.class,
> > envelopeQN),
> >                                     new
> > org.apache.axis.encoding.ser.BeanDeserializerFactory (HotelOptions.class,
> > envelopeQN));
> >
> >
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ "
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> > ">
> >       <soapenv:Body>
> >          <ns1:getHotel soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> > xmlns:ns1="con:getHotel">
> >             <ns2:HotelOptions xmlns:ns2="
> > http://api.content.tripadvisor.com">
> >                <TAID>85380</TAID>
> >                <clientID xsi:nil="true"/>
> >
> > <clientLoginID>832924179B0DACCAA58338B6D9A03F78</clientLoginID>
> >                <domain>com</domain>
> >                <maxUserReviewSummaries>5</maxUserReviewSummaries>
> >                <maxUserReviews>5</maxUserReviews>
> >                <startUserReviewID>0</startUserReviewID>
> >                <userReviewOffset>0</userReviewOffset>
> >                <userReviewSortOrder>0</userReviewSortOrder>
> >                <userReviewSummaryOffset>0</userReviewSummaryOffset>
> >             </ns2:HotelOptions>
> >          </ns1:getHotel>
> >       </soapenv:Body>
> >    </soapenv:Envelope>
> >
> > Does anyone have any ideas as to why i am not getting the prefix's on
> > the child elements?
> >
> > Regards
> >
> > Alex.
> >
> >
>

Re: [Axis2] Problems with addinf prefix's to attributes, or removing them from headers

Posted by Anne Thomas Manes <at...@gmail.com>.
I assume you mean Axis rather than Axis2. (Axis2 doesn't use BeanSerializer,
nor does it support SOAP encoding.)
What does the WSDL say? Does it specify elementFormDefault="qualified" on
the schema that defines the HotelOptions type? Are you creating your client
stub using WSDL2Java?

Anne


On 7/3/07, Alex Craddock <na...@gmail.com> wrote:
>
> Hello,
>
> In the following xml that I am sending using axis2, the lowest child
> elements eg, TAID should have the prefix ns2, as if it doesn't then i am
> unable to connect and use a web service provided by a third party company, I
> am using the below to create the serializer for the bean that i am using,
>
>         QName envelopeQN = new QName("http://api.content.tripadvisor.com
> ","HotelOptions","");
>         QName hotelOptionsQN = new QName("
> http://api.content.tripadvisor.com","HotelOptions");
>
>
> call.registerTypeMapping(HotelOptions.class,
>                                     hotelOptionsQN,
>                                     new
> org.apache.axis.encoding.ser.BeanSerializerFactory(HotelOptions.class,
> envelopeQN),
>                                     new
> org.apache.axis.encoding.ser.BeanDeserializerFactory (HotelOptions.class,
> envelopeQN));
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> " xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> ">
>       <soapenv:Body>
>          <ns1:getHotel soapenv:encodingStyle="
> http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="con:getHotel">
>             <ns2:HotelOptions xmlns:ns2="
> http://api.content.tripadvisor.com">
>                <TAID>85380</TAID>
>                <clientID xsi:nil="true"/>
>
> <clientLoginID>832924179B0DACCAA58338B6D9A03F78</clientLoginID>
>                <domain>com</domain>
>                <maxUserReviewSummaries>5</maxUserReviewSummaries>
>                <maxUserReviews>5</maxUserReviews>
>                <startUserReviewID>0</startUserReviewID>
>                <userReviewOffset>0</userReviewOffset>
>                <userReviewSortOrder>0</userReviewSortOrder>
>                <userReviewSummaryOffset>0</userReviewSummaryOffset>
>             </ns2:HotelOptions>
>          </ns1:getHotel>
>       </soapenv:Body>
>    </soapenv:Envelope>
>
> Does anyone have any ideas as to why i am not getting the prefix's on the
> child elements?
>
> Regards
>
> Alex.
>
>