Hi,
I am new to DFS. I have deployed standalone DFS 6.5 in Tomcat 6.0.18 as per the deployment guide. I am using composer for develoment of both service and client.I have JRE/JDK 5 for both composer and Tomcat. Now am trying to consume a custom service(same old Helloworld). I am getting NoClassDefFoundError . I have gone through quite a lot of the discussions and ended up with more questions.
Below are my doubts:
1.While packaging Custom Service which of the below is correct?
-> add dfc.properties in class path of the service.
-> when exporting the EAR there is an option to add resources there we can add dfc.properties.
-> add it in dfs-build.xml of the SDK.
2. What are the other files we need to add while exporting the EAR? ( i havent added anything other than dfc.properties)
3. My client is a simple java program. I added all the jar files mentioned in the development guide for remote client and dfc.properties,myservice.jar and myservice-remote.jar(do we need both the jars??)
4.What is the significance of dfs-client.xml in remote client? I added it in the class path of client.
5. In tomcat webapps folder i have placed the .war file which was extracted from ear file. and placed the lib,class folders under WEB-INF folder of myservice folder. Do i have to add any other files in tomcat?
Results:
-> Am able to access the custom service WSDL url and able to consume it locally.
-> when i try getRemoteService i get NoClassDefFoundError. below is the full error.
Exception in thread "main" java.lang.NoClassDefFoundError: com/documentum/fc/common/DfException at com.emc.documentum.fs.rt.context.impl.SessionManagerFactory.setup(SessionManagerFactory.java:52) at com.emc.documentum.fs.rt.context.impl.SessionHandlerUtil.setupSessionManager(SessionHandlerUtil.java:53) at com.emc.documentum.fs.rt.impl.handler.ServerContextHandler.handleMessage(ServerContextHandler.java:99) at com.emc.documentum.fs.rt.impl.handler.ServerContextHandler.handleMessage(ServerContextHandler.java:1) at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:284) at com.sun.xml.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:135) at com.sun.xml.ws.handler.ServerSOAPHandlerTube.callHandlersOnRequest(ServerSOAPHandlerTube.java:133) at com.sun.xml.ws.handler.HandlerTube.processRequest(HandlerTube.java:116) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135) at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129) at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160) at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) at local.stacktrace(0:0) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.emc.documentum.fs.rt.context.impl.ClientReflectionServiceInvoker.invoke(ClientReflectionServiceInvoker.java:78) at com.emc.documentum.fs.rt.context.impl.SoapClientInvocationHandler.invoke(SoapClientInvocationHandler.java:64) at com.emc.documentum.fs.rt.context.impl.UcfClientInvocationHandler.invoke(UcfClientInvocationHandler.java:47) at com.emc.documentum.fs.rt.context.impl.HttpSessionInvocationHandler.invoke(HttpSessionInvocationHandler.java:65) at com.emc.documentum.fs.rt.context.impl.OperationOptionsHandler.invoke(OperationOptionsHandler.java:48) at com.emc.documentum.fs.rt.context.impl.ReturnedContentTransformationHandler.invoke(ReturnedContentTransformationHandler.java:44) at com.emc.documentum.fs.rt.context.impl.ContextThreadLocalInvocationHandler.invoke(ContextThreadLocalInvocationHandler.java:46) at com.emc.documentum.fs.rt.context.impl.ServiceContextInvocationHandler.invoke(ServiceContextInvocationHandler.java:30) at $Proxy15.sayHello(Unknown Source) at com.coe.test.SimpleConsumer.callHelloWorldService(SimpleConsumer.java:42) at com.coe.test.SimpleConsumer.main(SimpleConsumer.java:55)
As of now my understanding is , Custom service should have dfc.properties and the remote client should have dfc.properties,custom service jar and dfs jars. what am i missing?