WEB SERVICE WTP开发心得 2008-07-10 19:00

字号:    

前2天的WTP开发心得中有不妥的地方,今天补充一下

down-top 开发模式

PLAIN JAVA PACKAGE

WTP3.0

WASCE 2.0.2

------------------------

Distribution of configuration failed.  See log for details.
  Manifest class path entries must be a valid jar file (JAVAEE 5 Section 8.2): path=EDITracing.jar, resolved to targetURI=EDITracing.jar
      looking at: WebServiceProject.war    current classpath: [WEB-INF/classes/, WEB-INF/lib/EDITracing.jar, WEB-INF/lib/common-2.2.3.jar, WEB-INF/lib/xsd-2.2.3.jar, WEB-INF/lib/tuscany-sdo-api-r2.1-1.1-incubating.jar, WEB-INF/lib/ecore-xmi-2.2.3.jar, WEB-INF/lib/commons-discovery-0.2.jar, WEB-INF/lib/log4j-1.2.9.jar, WEB-INF/lib/wstx-asl-3.2.0.jar, WEB-INF/lib/tuscany-sdo-impl-1.1-incubating.jar, WEB-INF/lib/ecore-change-2.2.3.jar, WEB-INF/lib/ecore-2.2.3.jar, WEB-INF/lib/tuscany-sdo-tools-1.1-incubating.jar, WEB-INF/lib/saaj.jar, WEB-INF/lib/jaxrpc.jar, WEB-INF/lib/jtds-1.2.jar, WEB-INF/lib/tuscany-das-rdb-1.0-incubating-beta2-revised.jar, WEB-INF/lib/commons-logging.jar, WEB-INF/lib/axis.jar, WEB-INF/lib/wsdl4j.jar, WEB-INF/lib/tuscany-sdo-lib-1.1-incubating.jar, WEB-INF/lib/log4j-1.2.14.jar, WEB-INF/lib/stax-api-1.0.1.jar, ../EDITracing.jar]    ignoring modules: [WebServiceProject.war]
  org.apache.geronimo.common.DeploymentException: Manifest class path entries must be a valid jar file (JAVAEE 5 Section 8.2): path=EDITracing.jar, resolved to targetURI=EDITracing.jar
      looking at: WebServiceProject.war    current classpath: [WEB-INF/classes/, WEB-INF/lib/EDITracing.jar, WEB-INF/lib/common-2.2.3.jar, WEB-INF/lib/xsd-2.2.3.jar, WEB-INF/lib/tuscany-sdo-api-r2.1-1.1-incubating.jar, WEB-INF/lib/ecore-xmi-2.2.3.jar, WEB-INF/lib/commons-discovery-0.2.jar, WEB-INF/lib/log4j-1.2.9.jar, WEB-INF/lib/wstx-asl-3.2.0.jar, WEB-INF/lib/tuscany-sdo-impl-1.1-incubating.jar, WEB-INF/lib/ecore-change-2.2.3.jar, WEB-INF/lib/ecore-2.2.3.jar, WEB-INF/lib/tuscany-sdo-tools-1.1-incubating.jar, WEB-INF/lib/saaj.jar, WEB-INF/lib/jaxrpc.jar, WEB-INF/lib/jtds-1.2.jar, WEB-INF/lib/tuscany-das-rdb-1.0-incubating-beta2-revised.jar, WEB-INF/lib/commons-logging.jar, WEB-INF/lib/axis.jar, WEB-INF/lib/wsdl4j.jar, WEB-INF/lib/tuscany-sdo-lib-1.1-incubating.jar, WEB-INF/lib/log4j-1.2.14.jar, WEB-INF/lib/stax-api-1.0.1.jar, ../EDITracing.jar]    ignoring modules: [WebServiceProject.war]
   at org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassPath(DeploymentContext.java:367)
   at org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassPath(DeploymentContext.java:286)
   at org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicInitContext(AbstractWebModuleBuilder.java:343)
   at org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(TomcatModuleBuilder.java:294)
   at org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(<generated>)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
   at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
   at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
   at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
   at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
   at org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$5dc97b08.initContext(<generated>)
   at org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(SwitchingModuleBuilder.java:159)
   at org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(<generated>)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
   at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
   at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
   at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
   at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
   at org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$5dc97b08.initContext(<generated>)
   at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:577)
   at org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(<generated>)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
   at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
   at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
   at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
   at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
   at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$5eef57fb.buildConfiguration(<generated>)
   at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:319)
   at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:135)
   at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
   at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
   at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
   at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
   at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
   at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
   at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
   at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
   at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
   at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
   at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)
   at javax.management.remote.rmi.RMIConnectionImpl.access$200(Unknown Source)
   at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source)
   at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
   at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
   at sun.rmi.transport.Transport$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Unknown Source)
   at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
  Caused by: java.io.IOException: Could not create JarFile for file: D:\wasce\repository\default\WebServiceProjectEAR.zip\1215686381906\WebServiceProjectEAR.zip-1215686381906.car\EDITracing.jar
   at org.apache.geronimo.deployment.DeploymentContext$DefaultJarFileFactory.newJarFile(DeploymentContext.java:271)
   at org.apache.geronimo.deployment.DeploymentContext.getCompleteManifestClassPath(DeploymentContext.java:365)
   ... 69 more
  Caused by: java.io.FileNotFoundException: D:\wasce\repository\default\WebServiceProjectEAR.zip\1215686381906\WebServiceProjectEAR.zip-1215686381906.car\EDITracing.jar (系统找不到指定的文件。)
   at java.util.zip.ZipFile.open(Native Method)
   at java.util.zip.ZipFile.<init>(Unknown Source)
   at java.util.jar.JarFile.<init>(Unknown Source)
   at java.util.jar.JarFile.<init>(Unknown Source)
   at org.apache.geronimo.deployment.DeploymentContext$DefaultJarFileFactory.newJarFile(DeploymentContext.java:269)
   ... 70 more

遇到这个问题还是老办法
需要把webserviceproject(dynamic web project)属性中的JAVA EE MODUAL DEPENDENCIES->J2EE MODULES页签中的EDITracing.jar类包的勾去掉
因为这个类包不是EJB的包

---------------------------------
如果说"缺少deploy descriptor不能部署,可能原因是使用了最小集合的geromino,不带j2ee包"

这个问题需要为EAR项目中添加deployment descriptor stub
具体做法:邮件EAR项目->JAVA EE tools-> generate deployment descriptor stub

------------------
如果找不到引用类包,需要在webserviceproject的dynamic web project中的WEB-INF/lib中import相关包
--------------------
到现在为止,web service方法的参数中还不能使用java.util.List作为参数,如果将使用List作为参数的方法发布的话,会使得整个包发布失败
可能是不符合jax-rpc的定义规范
需要找到好的方法来传递集合

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网易公司版权所有 ©1997-2009