Problem with unbounded elements and sequence in SimpleAxisServer
----------------------------------------------------------------
Key: AXIS-2399
URL: http://issues.apache.org/jira/browse/AXIS-2399
Project: Apache Axis
Type: Bug
Components: Serialization/Deserialization
Versions: 1.3
Environment: Java Version 1.4.2_09
SimpleAxisServer
Reporter: Thomas Früh
Priority: Blocker
With the newest version 1.3., I have a problem with following xml schema type:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="ucFeedbackRequestType">
<xs:sequence>
<xs:element name="ucLabel" type="xs:string"/>
<xs:element name="possibleAnswers">
<xs:complexType>
<xs:sequence>
<xs:element name="Answer"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="text" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="defaultCode" type="xs:string"/>
<xs:element name="timeOut" type="xs:unsignedInt"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
In our Java Application I use the SimpleAxisServer to receive some soap
messages from a client.
If the SimpleAxisServer receive a SOAP Message with the upper structure, then I
get the following error in the client:
<?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>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>org.xml.sax.SAXException:
SimpleDeserializer encountered a child element, which is NOT expected, in
something it was trying to deserialize.</faultstring>
<detail>
<ns1:stackTrace
xmlns:ns1="http://xml.apache.org/axis/">org.xml.sax.SAXException:
SimpleDeserializer encountered a child element, which is NOT expected, in
something it was trying to deserialize.
org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:81)
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
org.apache.axis.transport.http.SimpleAxisWorker.execute(SimpleAxisWorker.java:428)
org.apache.axis.transport.http.SimpleAxisWorker.run(SimpleAxisWorker.java:155)
java.lang.Thread.run(Unknown Source)
</ns1:stackTrace>
<ns2:hostname
xmlns:ns2="http://xml.apache.org/axis/">CHZRHD0CH0152</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
If the SimpleAxisServer receive a soap message with an empty <xs:element
name="possibleAnswers"> tag then there is no error.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira