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 Nateshan Soundarapandian <na...@gmail.com> on 2009/01/05 18:17:23 UTC
Re: Axis2/Java Nightly builds
Amila,
Any updates on this one ? Please advice.
I used Axis2 1.4.1 release.
Many Thanks,
Nateshan
On Wed, Dec 31, 2008 at 8:51 AM, Nateshan Soundarapandian <
nateshan@gmail.com> wrote:
> Dear Amila,
>
> Thanks for the response.
>
> I tried what you mentioned. I till get the same exception. Here are the
> artifacts:
>
> 1. Test Class:
> package com.ihg.ws.cxf.servlets;
>
> import java.io.ByteArrayInputStream;
>
> import javax.xml.stream.XMLStreamReader;
>
> import org.apache.axiom.om.util.StAXUtils;
> import org.opentravel.www.ota._2003._05.ContactNumbers_type0;
>
> public class ContactNumbersTest {
>
> public static void main(String[] args) {
> String newString = "<ContactNumbers xmlns=\"
> http://www.opentravel.org/OTA/2003/05\<http://www.opentravel.org/OTA/2003/05%5C>
> ">\n"
> + "<ContactNumber PhoneNumber=\"1-305-4469000\"
> PhoneTechType=\"1\" PhoneUseType=\"5\"/>\n"
> + "<ContactNumber PhoneNumber=\"1-305-4471189\"
> PhoneTechType=\"3\" PhoneUseType=\"5\"/>\n"
> + "</ContactNumbers>";
> try {
> XMLStreamReader xmlReader = StAXUtils
> .createXMLStreamReader(new
> ByteArrayInputStream(newString
> .getBytes()));
> ContactNumbers_type0 result = ContactNumbers_type0.Factory
> .parse(xmlReader);
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
>
>
> EXCEPTION:
> java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected
> subelement ContactNumber
> at
> org.opentravel.www.ota._2003._05.ContactNumbers_type0$Factory.parse(ContactNumbers_type0.java:582)
> at
> com.ihg.ws.cxf.servlets.ContactNumbersTest.main(ContactNumbersTest.java:22)
> Caused by: org.apache.axis2.databinding.ADBException: Unexpected subelement
> ContactNumber
> at
> org.opentravel.www.ota._2003._05.ContactNumbers_type0$Factory.parse(ContactNumbers_type0.java:578)
> ... 1 more
>
>
> Generated Factory.parse method in Class ContactNumbers_type0 (Please note
> the section marked between >>>>>>>>>> and <<<<<<<<<<<<, At this point Both
> reader.isEndElement() and reader.isStartElement() are true):
>
> --------------------------------------------------------------------------------------------------------------
> public static ContactNumbers_type0 parse(
> javax.xml.stream.XMLStreamReader reader)
> throws java.lang.Exception {
> ContactNumbers_type0 object = new ContactNumbers_type0();
>
> int event;
> java.lang.String nillableValue = null;
> java.lang.String prefix = "";
> java.lang.String namespaceuri = "";
> try {
>
> while (!reader.isStartElement() && !reader.isEndElement())
> reader.next();
>
> if (reader.getAttributeValue(
> "http://www.w3.org/2001/XMLSchema-instance",
> "type") != null) {
> java.lang.String fullTypeName = reader
> .getAttributeValue(
> "
> http://www.w3.org/2001/XMLSchema-instance",
> "type");
> if (fullTypeName != null) {
> java.lang.String nsPrefix = null;
> if (fullTypeName.indexOf(":") > -1) {
> nsPrefix = fullTypeName.substring(0,
> fullTypeName
> .indexOf(":"));
> }
> nsPrefix = nsPrefix == null ? "" : nsPrefix;
>
> java.lang.String type = fullTypeName
> .substring(fullTypeName.indexOf(":") + 1);
>
> if (!"ContactNumbers_type0".equals(type)) {
> // find namespace for the prefix
> java.lang.String nsUri = reader
> .getNamespaceContext().getNamespaceURI(
> nsPrefix);
> return (ContactNumbers_type0)
> org.opentravel.www.ota._2003._05.ExtensionMapper
> .getTypeObject(nsUri, type, reader);
> }
>
> }
>
> }
>
> // Note all attributes that were handled. Used to differ
> normal
> // attributes
> // from anyAttributes.
> java.util.Vector handledAttributes = new
> java.util.Vector();
>
> reader.next();
>
> java.util.ArrayList list1 = new java.util.ArrayList();
>
> while (!reader.isStartElement() && !reader.isEndElement())
> reader.next();
>
> if (reader.isStartElement()
> && new javax.xml.namespace.QName(
> "http://www.opentravel.org/OTA/2003/05",
> "ContactNumber").equals(reader.getName()))
> {
>
> // Process the array and step past its final element's
> end.
> list1
>
> .add(org.opentravel.www.ota._2003._05.TelephoneInfoType.Factory
> .parse(reader));
>
> // loop until we find a start element that is not part
> of
> // this array
> boolean loopDone1 = false;
> while (!loopDone1) {
> // We should be at the end element, but make sure
> while (!reader.isEndElement())
> reader.next();
> // Step out of this element
> reader.next();
> // Step to next element event.
> while (!reader.isStartElement()
> && !reader.isEndElement())
> reader.next();
> >>>>>>>>>> if (reader.isEndElement()) {
> // two continuous end elements means we are
> exiting
> // the xml structure
> loopDone1 = true; <<<<<<<<<<
> } else {
> if (new javax.xml.namespace.QName(
> "http://www.opentravel.org/OTA/2003/05
> ",
>
> "ContactNumber").equals(reader.getName())) {
> list1
>
> .add(org.opentravel.www.ota._2003._05.TelephoneInfoType.Factory
> .parse(reader));
>
> } else {
> loopDone1 = true;
> }
> }
> }
> // call the converter utility to convert and set the
> array
>
> object
>
> .setContactNumber((org.opentravel.www.ota._2003._05.TelephoneInfoType[])
> org.apache.axis2.databinding.utils.ConverterUtil
> .convertToArray(
>
> org.opentravel.www.ota._2003._05.TelephoneInfoType.class,
> list1));
>
> } // End of if for expected property start element
>
> else {
>
> }
>
> while (!reader.isStartElement() && !reader.isEndElement())
> reader.next();
>
> if (reader.isStartElement())
> // A start element we are not expecting indicates a
> trailing
> // invalid property
> throw new org.apache.axis2.databinding.ADBException(
> "Unexpected subelement " +
> reader.getLocalName());
>
> } catch (javax.xml.stream.XMLStreamException e) {
> throw new java.lang.Exception(e);
> }
>
> return object;
> }
>
> --------------------------------------------------------------------------------------------------------------
>
> Please advice.
>
> Many Thanks,
> Nateshan
>
>
> On Tue, Dec 30, 2008 at 11:20 PM, Amila Suriarachchi <
> amilasuriarachchi@gmail.com> wrote:
>
>>
>>
>> On Tue, Dec 30, 2008 at 11:46 PM, Nateshan Soundarapandian <
>> nateshan@gmail.com> wrote:
>>
>>> Dear Deepal,
>>>
>>> Thanks for the response. NO, The server side code is not Axis2. However
>>> the server side code returns the soap envelope that conforms to the Schema
>>> defined in the wsdl.
>>>
>>> This problem is related to sequences defined in the xsd.
>>>
>>>
>>> Here is what I defined in the Response schema:
>>> <xs:element name="ContactNumbers" minOccurs="0">
>>> <xs:complexType>
>>> <xs:sequence>
>>> <xs:element name="ContactNumber"
>>> type="TelephoneInfoType" minOccurs="0" maxOccurs="unbounded">
>>> <xs:annotation>
>>> <xs:documentation xml:lang="en">Contact
>>> numbers of the hotel property. Examples are telephone and fax
>>> numbers.</xs:documentation>
>>> </xs:annotation>
>>> </xs:element>
>>> </xs:sequence>
>>> </xs:complexType>
>>>
>>> Here is the Response:
>>> <ContactNumbers>
>>> <ContactNumber PhoneNumber="1-305-4469000" PhoneTechType="1"
>>> PhoneUseType="5"/>
>>> <ContactNumber PhoneNumber="1-305-4471189" PhoneTechType="3"
>>> PhoneUseType="5"/>
>>> </ContactNumbers>
>>
>>
>> try with this code
>>
>> String newString = "<ContactNumbers xmlns=\"
>> http://www.opentravel.org/OTA/2003/05\<http://www.opentravel.org/OTA/2003/05%5C>">\n"
>> +
>> "<ContactNumber PhoneNumber=\"1-305-4469000\"
>> PhoneTechType=\"1\" PhoneUseType=\"5\"/>\n" +
>> "<ContactNumber PhoneNumber=\"1-305-4471189\"
>> PhoneTechType=\"3\" PhoneUseType=\"5\"/>\n" +
>> "</ContactNumbers>";
>> XMLStreamReader xmlReader =
>> StAXUtils.createXMLStreamReader(new
>> ByteArrayInputStream(newString.getBytes()));
>> ContactNumbers_type0 result =
>> ContactNumbers_type0.Factory.parse(xmlReader);
>>
>> what is the Axis2 version you use?
>> thanks,
>> Amila.
>>
>>>
>>>
>>> Exception:
>>> org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException:
>>> Unexpected subelement ContactNumber
>>> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>>> at org.opentravel.
>>> www.ota._2003._05.HotelAvailabilityStub.fromOM(HotelAvailabilityStub.java:363)<http://www.ota._2003._05.hotelavailabilitystub.fromom%28hotelavailabilitystub.java:363/>
>>> at org.opentravel.
>>> www.ota._2003._05.HotelAvailabilityStub.HotelAvailabilityOperation(HotelAvailabilityStub.java:191)<http://www.ota._2003._05.hotelavailabilitystub.hotelavailabilityoperation%28hotelavailabilitystub.java:191/>
>>> at
>>> com.ihg.ws.cxf.servlets.HotelAvailability.doGet(HotelAvailability.java:211)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
>>> at
>>> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
>>>
>>> at
>>> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
>>>
>>> at
>>> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
>>>
>>> at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:270)
>>>
>>> at com.caucho.server.port.TcpConnection.run(TcpConnection.java:678)
>>> at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721)
>>> at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643)
>>> at java.lang.Thread.run(Thread.java:595)
>>>
>>> Please note: Iam not posting all the schema information here as they are
>>> huge.
>>>
>>>
>>> Many Thanks,
>>> nateshan
>>>
>>>
>>>
>>> On Tue, Dec 30, 2008 at 1:08 PM, Deepal Jayasinghe <deepal@opensource.lk
>>> > wrote:
>>>
>>>> How about the server side code? is it also Axis2?
>>>>
>>>> You get this error when you receive a message which is not correct
>>>> according to its WSDL.
>>>>
>>>> Deepal
>>>> > Hi,
>>>> >
>>>> > I am new to Axis2. I am having some trouble with the Axis Client code
>>>> > that was generated using Axis2 Release 1.4.1. However I wanted to try
>>>> > with the nightly builds to see if the problem has been fixed as I see
>>>> > so many bug reports on Axis2/ADB UnExpected Sublement errors.
>>>> >
>>>> > Please advice on where I can download Axis2/Java nightly builds, The
>>>> > Axis2 Website only points to a directory where only Axis2/C Nightly
>>>> > downloads are available.
>>>> >
>>>> > Many Thanks,
>>>> > Nateshan Soundarapandian
>>>> > Amutech Business Solutions Inc
>>>> > Mobile:(813) 579-0326
>>>> > Fax: (919) 882-1737
>>>>
>>>> --
>>>> Thank you!
>>>>
>>>>
>>>> http://blogs.deepal.org
>>>> http://deepal.org
>>>>
>>>>
>>>
>>
>>
>> --
>> Amila Suriarachchi
>> WSO2 Inc.
>> blog: http://amilachinthaka.blogspot.com/
>>
>
>