[JBoss JIRA] Commented: (JBWS-800) ClassCastException when trying to marshal a SybaseTimestamp
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBWS-800?page=comments#action_12346582 ]
Thomas Diesler commented on JBWS-800:
-------------------------------------
Lets resolve this issue by extending the testcase to use a subclass of DateTime
> ClassCastException when trying to marshal a SybaseTimestamp
> -----------------------------------------------------------
>
> Key: JBWS-800
> URL: http://jira.jboss.com/jira/browse/JBWS-800
> Project: JBoss Web Services
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: jaxrpc
> Affects Versions: jbossws-1.0.0.CR4
> Environment: Windows XP, JBoss 4.0.4.CR2
> Reporter: Chris Baxter
> Assigned To: Thomas Diesler
> Fix For: jbossws-1.0.5
>
>
> I have a EJB3 persistent bean mapped to a Sybase DB table. This table has datetime column that I have mapped back to a java.util.Date property on the persistent bean. This same bean class is returned from a webservice call. On JBoss 4.0.3SP1 (using Axis), I had no issues returning this object from my finder call. Now, when I switch to JBoss 4.0.4CR2 (using JBossWS), I get the following exception:
> Caused by: java.lang.ClassCastException: com.sybase.jdbc3.tds.SybTimestamp
> at org.jboss.xb.binding.SimpleTypeBindings.marshal(SimpleTypeBindings.java:1150)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalCharacters(XercesXsMarshaller.java:1169)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalSimpleType(XercesXsMarshaller.java:451)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElementType(XercesXsMarshaller.java:405)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElement(XercesXsMarshaller.java:380)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElementOccurence(XercesXsMarshaller.java:886)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalParticle(XercesXsMarshaller.java:823)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalModelGroupSequence(XercesXsMarshaller.java:1102)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalModelGroup(XercesXsMarshaller.java:1057)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalParticle(XercesXsMarshaller.java:729)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalComplexType(XercesXsMarshaller.java:685)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElementType(XercesXsMarshaller.java:414)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElement(XercesXsMarshaller.java:380)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElementOccurence(XercesXsMarshaller.java:886)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalParticle(XercesXsMarshaller.java:810)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalModelGroupSequence(XercesXsMarshaller.java:1102)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalModelGroup(XercesXsMarshaller.java:1057)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalParticle(XercesXsMarshaller.java:729)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalComplexType(XercesXsMarshaller.java:685)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElementType(XercesXsMarshaller.java:414)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElement(XercesXsMarshaller.java:380)
> at org.jboss.xb.binding.XercesXsMarshaller.marshalElementOccurence(XercesXsMarshaller.java:886)
> at org.jboss.xb.binding.XercesXsMarshaller.marshallInternal(XercesXsMarshaller.java:275)
> at org.jboss.xb.binding.XercesXsMarshaller.marshal(XercesXsMarshaller.java:222)
> at org.jboss.ws.jaxb.JAXBMarshallerImpl.marshal(JAXBMarshallerImpl.java:172)
> at org.jboss.ws.jaxrpc.encoding.JAXBSerializer.serialize(JAXBSerializer.java:100)
> at org.jboss.ws.soap.SOAPContentElement.getXMLFragment(SOAPContentElement.java:172)
> at org.jboss.ws.soap.SOAPContentElement.expandToDOM(SOAPContentElement.java:844)
> at org.jboss.ws.soap.SOAPContentElement.getChildNodes(SOAPContentElement.java:761)
> at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:201)
> at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:260)
> at org.jboss.util.xml.DOMWriter.printInternal(DOMWriter.java:260)
> at org.jboss.util.xml.DOMWriter.print(DOMWriter.java:177)
> at org.jboss.util.xml.DOMWriter.printNode(DOMWriter.java:126)
> at org.jboss.ws.server.ServiceEndpoint.postProcessResponse(ServiceEndpoint.java:306)
> ... 23 more
> In looking at the source code, I think I see why there may be a problem:
> else if(typeCode == XS_DATETIME)
> {
> Calendar c;
> if(value.getClass() == java.util.Date.class)
> {
> c = Calendar.getInstance();
> c.clear();
> c.setTime((java.util.Date)value);
> }
> else
> {
> c = (Calendar)value;
> }
> result = marshalDateTime(c);
> }
> The SybaseTimestamp class extends java.sql.Timestamp which in turn extends java.util.Date. That first 'if' should hit, but it won't because SybaseTimestamp.class != java.util.Date.class. Instead, I think the if statement should be:
> if(java.util.Date.class.isAssignableFrom(value.getClass()))
> I made this change and recompiled and everything works as expected now.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 6 months
[JBoss JIRA] Commented: (JBWS-723) Protect access to wsdl
by Thomas Diesler (JIRA)
[ http://jira.jboss.com/jira/browse/JBWS-723?page=comments#action_12346580 ]
Thomas Diesler commented on JBWS-723:
-------------------------------------
Make this configurable.
> Protect access to wsdl
> ----------------------
>
> Key: JBWS-723
> URL: http://jira.jboss.com/jira/browse/JBWS-723
> Project: JBoss Web Services
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: jaxrpc
> Reporter: Thomas Diesler
> Fix For: jbossws-1.0.5
>
>
> Hello,
> the reason for protecting the wsdl file, is that the wsdl file can give
> valuable information for starting a Web Service related attack,
> according to the bibliography (see for example: Hacking Exposed, Web Applications, Scambray J., Shema M., McGraw Hill; Hacking Exposed,
> J2EE & Java, Taylor B., Buege R., Layman A., McGraw Hill).
> Spyros Halkidis
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 6 months
[JBoss JIRA] Commented: (JBWS-1194) Release jbossws-1.0.4.GA binary
by Prabhat Jha (JIRA)
[ http://jira.jboss.com/jira/browse/JBWS-1194?page=comments#action_12346550 ]
Prabhat Jha commented on JBWS-1194:
-----------------------------------
Thomas wrote:
"The JBWS-718, and JMS issues are related to the jboss-4.0.5 testsuite. They are fixed on Branch_4_2 and can be ignored"
So we are okay with jdk1.4 tests. We need to resolve jdk1.5 failing tests and sample tests against tomcat. We will be good to go for the release after that.
> Release jbossws-1.0.4.GA binary
> -------------------------------
>
> Key: JBWS-1194
> URL: http://jira.jboss.com/jira/browse/JBWS-1194
> Project: JBoss Web Services
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: jaxrpc
> Reporter: Thomas Diesler
> Assigned To: Thomas Diesler
> Fix For: jbossws-1.0.4
>
>
> The release criteria for jbossws-1.1.0.GA are:
> * pass all internal jbossws tests
> * pass all portable j2ee-1.4 tests from the jboss testsuite
> * pass all tests in module jaxr,jaxrpc,saaj,webservice from the Sun compatiblity testsuite
> * generate all test artifacts with wstools
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 6 months