[ http://issues.apache.org/jira/browse/AXIS-2444?page=all ]

Subba Ayyagari updated AXIS-2444:
---------------------------------

    Attachment: EMCAxisBug.zip

> XML Deserialzation problem with Union of SimpleTypes
> ----------------------------------------------------
>
>          Key: AXIS-2444
>          URL: http://issues.apache.org/jira/browse/AXIS-2444
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2.1
>  Environment: Windows XP, Sun JDK 1.4.2_06
>     Reporter: Subba Ayyagari
>  Attachments: EMCAxisBug.zip
>
> I've a WebService whose WSDL is View.wsdl. The result returned adheres to the 
> View.xsd (which is flattened into the View.wsdl for ease of use). The 
> WebService returns "FlexElementResult__Type" which is defined as given below. 
> On the client side, I use Axis 1.2.1 (I tried 1.2 as well as 1.1) with 
> proxies generated using WSDL2Java tool. 
> <xs:complexType name="FlexElementResult__Type">
>   <xs:sequence>
>     <xs:element name="Value" type="Value_Type" nillable="true"/>
>   </xs:sequence>
>   <xs:attribute name="Name" type="xs:string" use="required"/>
> </xs:complexType>
> <xs:simpleType name="Value_Type">
>   <xs:union memberTypes="xs:boolean xs:date xs:string xs:decimal 
> xs:gYearMonth xs:int xs:integer xs:long xs:float LoanType__Type"/>
> </xs:simpleType>
> The WebService returns the following payload. I've a small PHP file setup on 
> my hosting site that returns this following response for testing purposes at 
> http://72.3.135.4/EMCAxisBug.php 
> <fnf:ViewReadResponse xmlns:fnf="http://example.test.com/services/View/1.01";>
>   <Element Name="BorrowerName" xmlns:fnf1="http://example.test.com/services";>
>     <Value xsi:type="xs:string">TEST,NAME</Value>
>   </Element>
>   <Element Name="OriginalMortgageAmount" 
> xmlns:fnf1="http://example.test.com/services";>
>     <Value xsi:type="xs:decimal">99888.00</Value>
>   </Element>
>   <Element Name="LoanType" xmlns:fnf1="http://example.test.com/services";>
>     <Value xsi:type="fnf:LoanType__Type">ConventionalWithoutPMI</Value>
>   </Element>
> </fnf:ViewReadResponse>
> This XML reponse is valid per schema View.xsd.
> But, when I use my test case with the generated axis client proxy, I get the 
> following exception:
> - Could not convert java.lang.String to bean field 'value', type 
> com.test.example.services.View._1_01.Value_Type
> - Exception:
> java.lang.IllegalArgumentException: argument type mismatch
>       at 
> org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:157)
>       at 
> org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
>       at 
> org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
>       at 
> org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
>       at 
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
>       at 
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
>       at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>       at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>       at org.apache.axis.client.Call.invoke(Call.java:2448)
>       at org.apache.axis.client.Call.invoke(Call.java:2347)
>       at org.apache.axis.client.Call.invoke(Call.java:1804)
>       at 
> com.test.example.services.View._1_01.ViewSOAPHttpsBindingStub.viewRead(ViewSOAPHttpsBindingStub.java:178)
>       at com.test.TestMain.main(TestMain.java:17)
> I don't see anything wrong with the response XML. I've a build.xml attached 
> that generate the proxy classes and runs my test against my hosted hard-coded 
> webservice php file. I also attached a hard-coded JSP webserivce simulator 
> EMCAxisBug.jsp for your local testing.
> I went through the mailing archives and googled for this, but nothing really 
> solved this problem and it looks to me like a bug in the deseriazation and 
> handling of union types.
> I am attaching the eclipse project am using along with all the sample 
> response, wsdl, xsd etc etc.
> Please let me know if you need anything else.
> Thanks

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

Reply via email to