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:15:33 UTC

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

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


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


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

Posted by "Sunny Ip (JIRA)" <tu...@ws.apache.org>.
     [ 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


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

Posted by "Jean-Sebastien Delfino (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Sebastien Delfino reassigned TUSCANY-1199:
-----------------------------------------------

    Assignee: Raymond Feng

Assigning this to you as it looks like a Databinding problem and you may be able to figure the answer right away.

Thanks.

> 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


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

Posted by "Sunny Ip (JIRA)" <tu...@ws.apache.org>.
     [ 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