You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Sunny Ip (JIRA)" <tu...@ws.apache.org> on 2007/07/19 17:01:06 UTC

[jira] Closed: (TUSCANY-1199) ClassCastException when getting back a type extended from anything besides a string

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

Sunny Ip closed TUSCANY-1199.
-----------------------------

    Resolution: Invalid

Didn't realize this was still open. We found that the generated factory was not referenced in the composite file using dbsdo:import.sdo. I believe this should no longer be an issue. 

> ClassCastException when getting back a type extended from anything besides a string
> -----------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1199
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1199
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Web App Integration
>    Affects Versions: Java-SCA-M2
>         Environment: Apache Tomcat 5.5.17
>            Reporter: Sunny Ip
>            Assignee: Raymond Feng
>             Fix For: Java-SCA-Next
>
>         Attachments: AccountHistoryService.wsdl, default.scdl
>
>
> Originally posted under SDO Implementation, but it was suggested it may be an SCA proxy problem:
> In my client code (originating from a JSP), whenever I am expecting a return type that extends anything but a string (tried so far with boolean, int, double, decimal, long), I get the following when I call my service: 
> java.lang.ClassCastException: java.lang.String 
> $Proxy34.getAccountBalance(Unknown Source) 
> com.bns.references.account.client.AccountClientImpl.getAccountBalance(AccountClientImpl.java:14) 
> org.apache.jsp.AccountClientTest_jsp._jspService(AccountClientTest_jsp.java:81) 
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
> org.apache.tuscany.runtime.webapp.TuscanyFilter.doFilter(TuscanyFilter.java:58) 
> Here is a snippet from a WSDL file that is being used: 
> <xs:schema xmlns:sample="http://sample" targetNamespace="http://sample"> 
>   <xsd:element name="getAccountBalance"> 
>     <xsd:complexType> 
>       <xsd:sequence> 
>         <xsd:element name="accountNumber" type="sample:AccountNumber" /> 
>       </xs:sequence> 
>     </xsd:complexType> 
>   </xsd:element> 
>   <xsd:element name="getAccountBalanceResponse"> 
>     <xsd:complexType> 
>       <xsd:sequence> 
>         <xsd:element name="return" type="sample:Dollars" /> 
>       </xsd:sequence> 
>     </xsd:complexType> 
>   </xsd:element> 
>   <xsd:simpleType name="Dollars"> 
>     <xsd:restriction base="xsd:double"> 
>       <xsd:minInclusive value="0" /> 
>     </xsd:restriction> 
>   </xsd:simpleType> 
> </xsd:schema> 
> with everything else exactly the same, changing the return type for getAccountBalanceResponse from "sample:Dollars" to "xsd:double" makes everything work fine. I have attached the wsdl and scdl (client side) files for reference. To reproduce:
> 1) create/generate classes to implement and consume the service described by the wsdl
> 2) expose the service in your scdl 
> 3) call the getAccountBalance operation
> The crash will occur after the method on the service side is complete, but before the client gets a response.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org