xCP2.0 Java服务无法正常工作 - IDfSession为null

时间:2014-12-18 18:54:35

标签: java bpm documentum

我目前正在使用Documentum 7.0开发xCP 2.0项目,而我正试图在工作流程中运行Java Service。当我使用的函数只是返回" some_string"时,Java服务正常工作。串。但是只要我尝试实际的东西并使用documentum特定的对象,如:

IDfSession mySession = getSession();

我在这里得到了这些例外:

  

java.lang.RuntimeException:无法调用方法' test'从   界面'类com.gemp1.Test'来自BOF模块' gemp1_xCPJava'在   流程模板:' Peticion de Nuevo Producto v2' - 活动:'执行   Java服务'。工作项目:' 4a015abd80004959'工作流程:' Peticion de   Nuevo Producto v2 2014-12-18' - ' 4d015abd8000411e'活动:'执行   Java Service' - ' 4c015abd8002e358'流程:' Peticion de Nuevo   Producto v2' - ' 4b015abd8002c56c' java.lang.Exception的:   java.lang.RuntimeException:无法调用方法' test'从   界面'类com.gemp1.Test'来自BOF模块' gemp1_xCPJava'在   com.documentum.bps.outbound.AbstractService.execute(AbstractService.java:98)   在   com.documentum.bpm.services.BPSIntegrationFramework.executeService(BPSIntegrationFramework.java:260)   在   com.documentum.bpm.services.BPSIntegrationFramework.executeMethod(BPSIntegrationFramework.java:92)   在   com.documentum.bpm.services.BPSIntegrationMethod.executeMethod(BPSIntegrationMethod.java:26)   在   com.documentum.bpm.rtutil.GenericWorkflowMethod.execute(GenericWorkflowMethod.java:129)   在   com.documentum.bpm.rtutil.GenericWorkflowMethod.execute(GenericWorkflowMethod.java:355)   在   com.documentum.bpm.rtutil.GenericWorkflowMethod.execute(GenericWorkflowMethod.java:70)   在com.documentum.mthdservlet.DfMethodRunner.runIt(未知来源)
  在com.documentum.mthdservlet.AMethodRunner.runAndReturnStatus(未知   来自)com.documentum.mthdservlet.DoMethod.invokeMethod(未知   来自)com.documentum.mthdservlet.DoMethod.doPost(未知   来源)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at at   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)   在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   在   org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)   在   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)   在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)   在   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)   在   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)   在   org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)   在   org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)   在   org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)   在   org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)   在   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)   在   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)   在   org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)   在   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   在   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)   在   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)   在   org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:598)   在   org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447)   在java.lang.Thread.run(Thread.java:662)引起:   java.lang.RuntimeException:无法调用方法' test'从   界面'类com.gemp1.Test'来自BOF模块' gemp1_xCPJava'在   com.documentum.bps.outbound.bof.runtime.BOFClient.invokeMethod(BOFClient.java:121)   在   com.documentum.bps.outbound.bof.runtime.BofModuleService.executeServiceOperation(BofModuleService.java:133)   在   com.documentum.bps.outbound.AbstractService.executeServiceInternal(AbstractService.java:122)   在   com.documentum.bps.outbound.AbstractService.execute(AbstractService.java:79)   ... 32更多引起:java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)   在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   在java.lang.reflect.Method.invoke(Method.java:597)at   com.documentum.bps.outbound.bof.runtime.BOFClient.invokeMethod(BOFClient.java:112)   ... 35更多引起:java.lang.NullPointerException at   com.documentum.fc.client.DfSingleDocbaseModule.getSession(DfSingleDocbaseModule.java:58)   在com.gemp1.Test.test(Test.java:11)​​... 40多个

我的Java课程:

package com.gemp1;

import com.documentum.fc.client.*;
import com.documentum.fc.common.DfException;

public class Test extends DfSingleDocbaseModule {

    public String test() {
        String result = "Hello12345";
        return result;
    }

    public String[] getUsers() throws DfException {
        String docbaseUsers[] = new String[200];

        IDfCollection coll = null;
        IDfSession mySession = getSession();
        String myQuery = "select user_name from dm_user";
        IDfQuery myDFQuery = new DfQuery(myQuery);
        coll = myDFQuery.execute(mySession, IDfQuery.DF_QUERY);
        int i=0;
        while (coll.next()) {
            docbaseUsers[i] = coll.getString("user_name");
            i++;
        }
        return docbaseUsers;
    }
}

最后是我的javamodule文件:

<?xml version="1.0" encoding="UTF-8"?>
<nsJavaModule:JavaModule xmlns:nsJavaModule="http://xcp.emc.com/javamodule" urn="urn:gemp1:com.emc.xcp.artifact.javamodule.category:Artifacts/Java Modules/xCPJava.javamodule" categoryId="com.emc.xcp.artifact.javamodule.category" name="xCPJava" label="xCPJava" implementationClass="com.gemp1.Test">
    <implementationJars contentPath="content/modules/xCPJava.jar"/>
    <implementationJars contentPath="content/modules/dfc.jar"/>
</nsJavaModule:JavaModule>

我错过了什么吗?

0 个答案:

没有答案