今天做了一个webservice,使用XFire发布出来的,贴上webservice的Impl文件代码:public String showTime() {
// System.out.println(new java.util.Date()); java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time = sdf.format(new java.util.Date());
return time;
}然后我写了一个客户端测试了一下:public static void main(String[] args) throws Exception{
Client client = new Client(new URL("http://localhost:8080/webService/services/GISWebService?wsdl"));

Object[] time = client.invoke("showTime", new Object[]{});
System.out.println(time[0]);
}这是输出的时间是这样的:2010-11-08T15:40:19.765+08:00我在webservice里面是格式化过的,怎么输出的结果不对呢?我想将最后一行的代码改一下System.out.println((Date)time[0]);然后再格式化,就出现了这个异常Exception in thread "main" java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl cannot be cast to java.util.Date
小弟现在忙得比较糊涂,请哪位大侠指点一二,不甚感激。

解决方案 »

  1.   

    你的错误提示都很清楚了、转型错误
    String转date  是你这样转的吗?  
      

  2.   

    我用的是JUnit测试,因该与这个没关系吧!
      

  3.   

    今天上班的时候打开MyEclipse,再次运行昨天的程序,却有问题了,贴上异常的代码Exception in thread "main" java.lang.NoClassDefFoundError: javax/wsdl/factory/WSDLFactory
    at org.codehaus.xfire.client.Client.<init>(Client.java:235)
    at org.codehaus.xfire.client.Client.<init>(Client.java:246)
    at com.dcec.client.WebServiceClient.main(WebServiceClient.java:10)
    Caused by: java.lang.ClassNotFoundException: javax.wsdl.factory.WSDLFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more昨天运行的时候还好好的,怎么今天就不行了?
      

  4.   

    我用junit测试也是能够正常打印的,呵呵
      

  5.   

    我在java类的main[]函数中调用web service不存在问题,在servlet中调用却一直出现跟你一样的问题,一直解决无门,重写多次无济于事,在servlet中到底能不能调用?