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/04/02 23:19:32 UTC
[jira] Updated: (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 updated TUSCANY-1199:
------------------------------
Attachment: AccountHistoryService.wsdl
default.scdl
> 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 Runtime
> Affects Versions: Java-M2
> Environment: Apache Tomcat 5.5.17
> Reporter: Sunny Ip
> 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