[ https://issues.apache.org/jira/browse/AXIS2-4402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12723077#action_12723077 ]
Boris Klug commented on AXIS2-4402: ----------------------------------- I downlaoded trunk which is r787379, build it, tested it. Both problems - empty Strings and nulls - are gone. Great work! Thanks. BTW: A nightly build like Axis2/C would be great. > ADB fails to parse anyType with empty string > -------------------------------------------- > > Key: AXIS2-4402 > URL: https://issues.apache.org/jira/browse/AXIS2-4402 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: adb > Affects Versions: 1.5, 1.4.1 > Reporter: Andreas Veithen > Assignee: Andreas Veithen > Fix For: 1.6 > > > Initially posted by Boris Klug on the mailing list: > http://markmail.org/thread/ttag7rc32uf2x7o5 > Hi! > I created a wsdl which contains a attribute/value pair where the > value is definied as xsd:anyType: > <xs:complexType name="ZAttributeValue"> > <xs:sequence> > <xs:element name="name" type="xs:string" /> > <xs:element name="displayName" nillable="true" type="xs:string" /> > <xs:element name="value" nillable="true" type="xs:anyType" /> > <xs:element name="className" nillable="true" type="xs:string" /> > </xs:sequence> > </xs:complexType> > Now I used wsdl2java to create client and server code using adb data binding. > When value is "" (=empty string), the client throws this exception: > Exception in thread "main" org.apache.axis2.AxisFault: Current state > END_ELEMENT is not among the statesCHARACTERS, COMMENT, CDATA, SPACE, > ENTITY_REFERENCE, DTD valid for getText() > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) > at > de.mypackage.ZederbasicServiceStub.fromOM(ZederbasicServiceStub.java:8846) > at > de.mypackage.ZederbasicServiceStub.getZEDERObjects(ZederbasicServiceStub.java:1028) > at ZederBasicClientTest.main(ZederBasicClientTest.java:36) > Caused by: java.lang.IllegalStateException: Current state END_ELEMENT is not > among the statesCHARACTERS, COMMENT, CDATA, SPACE, ENTITY_REFERENCE, DTD > valid for getText() > at > com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getText(XMLStreamReaderImpl.java:1052) > at > org.apache.axiom.om.impl.llom.OMStAXWrapper.getText(OMStAXWrapper.java:418) > at > org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(ConverterUtil.java:1528) > at de.debeka.repository.zws > In this case, the soap message looks like this: > <attributes xmlns="http://model.zws2.boq.debeka.gen/xsd"> > <name>HINWEIS</name> > <displayName>Hinweis</displayName> > <value xmlns:s45="http://www.w3.org/2001/XMLSchema-instance" > xmlns:s46="http://www.w3.org/2001/XMLSchema" s45:type="s46:string"> > </value> > <className>java.lang.String</className> > </attributes> > When value is set to null, I get this exception: > Exception in thread "main" org.apache.axis2.AxisFault: > org.apache.axis2.databinding.ADBException: Unexpected subelement value > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) > at > de.mypackage.ZederbasicServiceStub.fromOM(ZederbasicServiceStub.java:8846) > at > de.mypackage.ZederbasicServiceStub.getZEDERObjects(ZederbasicServiceStub.java:1028) > at ZederBasicClientTest.main(ZederBasicClientTest.java:36) > Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: > Unexpected subelement value > at > de.mypackage.ZederbasicServiceStub$ZAttributeValue$Factory.parse(ZederbasicServiceStub.java:2583) > at > de.mypackage.ZederbasicServiceStub$ZDataObject$Factory.parse(ZederbasicServiceStub.java:7596) > at > de.mypackage.ZederbasicServiceStub$GetZEDERObjectsResponse$Factory.parse(ZederbasicServiceStub.java:4833) > at > de.mypackage.ZederbasicServiceStub.fromOM(ZederbasicServiceStub.java:8833) > ... 2 more > Caused by: org.apache.axis2.databinding.ADBException: Unexpected subelement > value > at > de.mypackage.ZederbasicServiceStub$ZAttributeValue$Factory.parse(ZederbasicServiceStub.java:2569) > ... 5 more > The soap message is: > <attributes xmlns="http://model.zws2.boq.debeka.gen/xsd"> > <name>KLASSE</name> > <displayName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:nil="1" /> > <value xmlns:s29="http://www.w3.org/2001/XMLSchema-instance" > xmlns:s30="http://www.w3.org/2001/XMLSchema" > s29:type="s30:string">C_Jobplan</value> > <className>java.lang.Integer</className> > </attributes> > I tried Axis2 1.4.1 and the new 1.5 version. The whole problem with nil and > empty string values only exists with anyType, not if the element is declared > as string or something else. > I really need anyType here. > Thank you for your help in advance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.