You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2009/06/22 22:27:07 UTC

[jira] Resolved: (AXIS2-4402) ADB fails to parse anyType with empty string

     [ https://issues.apache.org/jira/browse/AXIS2-4402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen resolved AXIS2-4402.
------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.6

The problem with empty values is fixed by r787379.
I believe that the problem with null values has been fixed previously by AXIS2-4273.

> 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.