这个是公司新推出的个人发展计划,也算是个福利吧,每个人每个季度最多可以请两天假学习自己感兴趣的东西,在Learning Day的时候可以不用到公司,在公司也可以不接受任务。呵呵,我是公司第一个申请这个Learning Day并获批的人,也就是在今天
在家里系统的学习Web Service,唯一的问题就是没有饭吃
这个是公司新推出的个人发展计划,也算是个福利吧,每个人每个季度最多可以请两天假学习自己感兴趣的东西,在Learning Day的时候可以不用到公司,在公司也可以不接受任务。呵呵,我是公司第一个申请这个Learning Day并获批的人,也就是在今天
在家里系统的学习Web Service,唯一的问题就是没有饭吃
开始搞Web Service,用了CXF,下载了2.0.8和2.1.1,开始弄的是2.1.1,发现有问题:
java.lang.NoSuchMethodError: org.jaxen.BaseXPath.<init>(Ljava/lang/String;Lorg/jaxen/Navigator;)V
怎么也发布不成功,后来修改成2.0.8,发现可以了,通过浏览器访问什么的都没有问题,然后从wsdl生成stubs后,运行unit test有问题:
java.lang.IncompatibleClassChangeError
at org.apache.cxf.wsdl11.WSDLServiceBuilder.copyExtensionAttributes(WSDLServiceBuilder.java:120)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:228)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:153)
at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:138)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:129)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:55)
at javax.xml.ws.Service.<init>(Service.java:57)
唉,步履维艰啊
2008年8月21日更新:
发现这些都是Classpath搞的,因为原来的工程中也包含了老版本的Web Service的包,我们这个工程在原来的工程里面,但是我发布的时候没有包含原来的jar,但是Eclipse工程里面是依赖的,所以Server运行没有问题,在Eclipse跑单元测试的时候有问题。
2.1.1的问题是DOM4J.JAR搞的,里面也包含了jaxen的类,把那些类从jar包里面去掉问题解决
新的项目其实是转向Web Service的,公司的整体架构将采用SOA,本来这一阶段只是个临时阶段,但是Web Service的任务要提前开始了,因为另外一个新的项目需要使用我们的Service,而现在的这个项目是基于一个老的项目,只使用EJB2,所以在原来的项目的EJB3和Web Service可以根据Annotation自动发布的基础设施都不存在了,而且架构师打算弃用JBoss,转向Tomcat,所以现在最简单的方案就是基于Axis自己写必须的东西了,还不是很清楚,要慢慢研究了。
现在越来越感觉Dynamic Proxy是个好东西,不过发现异常处理还是得注意下,因为调用实际的代码返回的异常都会被包一次成为InvocationTargetException,所以如果你想让原本的异常继续往上抛,那么必须捕获异常并且得到targetException然后再抛出去:
try {
result = targetMethod.invoke(targetObject, args);
} catch (IllegalAccessException e) {
throw new RuntimeException("IllegalAccessException", e);
} catch (IllegalArgumentException e) {
throw new RuntimeException("IllegalArgumentException", e);
} catch (InvocationTargetException e) {
throw e.getTargetException();
}
又陪老婆来扬州了,还好这次不像上次那样感冒了,但是动车组的空调开得挺大,差点就感冒了。老婆延续了她一贯的迟到风格,连这种考试也是照迟到不误。另外,本来订的是另外一个宾馆,但是她到了地方发现有个速8酒店,为了省点钱,她在已经迟到的情况下还在外面等着给我打电话,而我当时正在付钱,就差在发票上签字了。我都不好意思跟人家服务员说不订了,把电话给了服务员让她说。而且更加尴尬的是我在那个宾馆的大堂看了一个多小时的电影等她考完试再去速8酒店。最终的结果不上次好,由于不是旅游旺季,空房间很多,最后比住那个酒店便宜70块。
由于没有感冒,这次去吃正宗的那个扬州炒饭感觉很好吃,点了两份扬州炒饭,一个榨菜肉丝汤,两个人吃得干干净净,最后老婆把汤全喝了,这次扬州之行应该还不错
前几天说了自己的手机修过,但是一高兴,把这个事情给忘了,就是修完以后联系人里面的人全部没有了,而我的联系人是存在手机上的而不是SIM卡里面的,这下麻烦大了一些可以通过MSN联系的还好说,主要是家里那边的,唉,上个月就没有给家里打电话。
© 2025 解惑
本主题由Anders Noren提供 — 向上 ↑