Both issues are fixed in the lastest svn revisions. Thanks a lot. See Jira for more information:
https://issues.apache.org/jira/browse/AXIS2-4402 ----- original Nachricht -------- Betreff: Re: anyType and til values/empty strings - exception thrown Gesendet: Mo, 22. Jun 2009 Von: Andreas Veithen<andreas.veit...@gmail.com> > Was Du heute kannst besorgen, verschiebe nicht auf morgen... > > https://issues.apache.org/jira/browse/AXIS2-4402 > > Created a JIRA and fixed the issue. > > Andreas > > On Mon, Jun 22, 2009 at 21:45, Boris Klug<bo...@klg.de> wrote: > > Hi! > > > > Yes will do this tomorrow. > > > > Thanks for your help > > > > Am 22.06.2009 um 21:08 schrieb Andreas Veithen: > > > >> Yes I know. It needs to be fixed in Axis2. Can you please open a JIRA > >> report? > >> > >> Andreas > >> > >> On Mon, Jun 22, 2009 at 20:57, Boris Klug<bo...@klg.de> wrote: > >>> > >>> Hi! > >>> > >>> Its not my code, its the code generated by wsdl2java - so what can I > do? > >>> > >>> Am 22.06.2009 um 16:51 schrieb Andreas Veithen: > >>> > >>>> Anyway, the code is wrong and should use getElementText instead of > >>>> getText to make sure that it gives the expected result even if the > >>>> underlying parser is not coalescing. This would also solve the problem > >>>> with empty text (getElementText returns an empty string in that case) > >>>> and I think that is what the generated code does. Note that your last > >>>> comment implies that anyType handling uses totally different code than > >>>> the processing of typed elements. This is really strange! > >>>> > >>>> Andreas > >>>> > >>>> On Mon, Jun 22, 2009 at 14:14, Boris Klug<bo...@klg.de> wrote: > >>>>> > >>>>> 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.jav > a: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(XMLStrea > mReaderImpl.java:1052) > >>>>> at > >>>>> > >>>>> > org.apache.axiom.om.impl.llom.OMStAXWrapper.getText(OMStAXWrapper.java:418) > >>>>> at > >>>>> > >>>>> > org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(ConverterU > til.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.jav > a: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(ZederbasicS > erviceStub.java:2583) > >>>>> at > >>>>> > >>>>> > de.mypackage.ZederbasicServiceStub$ZDataObject$Factory.parse(ZederbasicServi > ceStub.java:7596) > >>>>> at > >>>>> > >>>>> > de.mypackage.ZederbasicServiceStub$GetZEDERObjectsResponse$Factory.parse(Zed > erbasicServiceStub.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(ZederbasicS > erviceStub.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. > >>>>> > >>>>> > >>>>> -- > >>>>> Boris Klug, Koblenz, bo...@klg.de, Fax: 0261-1334249 > >>>>> > >>> > >>> -- > >>> Boris Klug, bo...@klg.de > >>> > >>> > >>> > >>> > > > > -- > > Boris Klug, bo...@klg.de > > > > > > > > > --- original Nachricht Ende ----