[ 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]