我在osworkflow初始化一个工作流程的 xml文件时, 
Workflow wf=(Workflow)request.getSession().getAttribute("workflow");
long wfid = wf.initialize("os_test", 1, null);好像说找不到os_test.xml这个文件  com.opensymphony.workflow.FactoryException: Unable to find workflow os_test: root cause: no protocol: os_test
at com.opensymphony.workflow.loader.URLWorkflowFactory.getWorkflow(URLWorkflowFactory.java:66)
at com.opensymphony.workflow.loader.AbstractWorkflowFactory.getWorkflow(AbstractWorkflowFactory.java:48)
at com.opensymphony.workflow.config.DefaultConfiguration.getWorkflow(DefaultConfiguration.java:83)
at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:595)
at net.com.os.web.ApplyAction.applycreate(ApplyAction.java:104)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
workflows.xml 文件<workflows>
<workflow name="os_test" type="resource" location="os_test.xml"/>
</workflows>当前目录有一个  os_test.xml流程文件

解决方案 »

  1.   

    root cause: no protocol: os_test 
    说你没有协议
    你改成os_test.xml就行了
    后缀不加他不认的
      

  2.   

    long wfid = wf.initialize("os_test", 1, null); 
    long wfid = wf.initialize("os_test.xml", 1, null); 
      

  3.   

    改了 一样啊,而且我在workflows.xml 文件 <workflows> 
    <workflow name="os_test" type="resource" location="os_test.xml"/> 
    </workflows>
    配置了应该可以直接   long wfid = wf.initialize("os_test", 1, null);  吧
      

  4.   

    long wfid = wf.initialize("os_test", 1, null);  吧 你os_test.xml里面的工作流名称就是os_test吗?是不是错了呀?
      

  5.   

    那应该可以
    ---------------
    那你看下initialize的那个方法是怎么解析xml的,3个参数是什么,为什么会有个参数是null的?
      

  6.   

    哦, 这个null啊  我换成  new HashMap()  也一样对了, 我是把osworkflow整合在ssh框架的,  而我用jdbc 确可以
      

  7.   

       Workflow workflow = new BasicWorkflow("testuser"); 
       DefaultConfiguration config = new DefaultConfiguration(); 
       workflow.setConfiguration(config); 
       long workflowId = workflow.initialize("mytest", 1, null); 
       workflow.doAction(workflowId, 1, null); #%#……&%*¥%*%¥¥……%¥……
    没试过,大概,不确定他怎么样
      

  8.   

    javaeye有的,以前曾经看到过
    你去找找,我这不能部署,没办法跑
      

  9.   

    唉,现在工作流能回答问题的很少,osworkflow好用吗?看网上好像JBPM使用的也有不少,但是碰到问题及没人回答了。为什么选择osworkflow,不选JBPM呢?
      

  10.   

    因为我jbpm我都没搞过osworkflow还用过, 用jdbc 没问题,  整合到ssh框架就有问题了
      

  11.   

    是呀,前几天看了一下网上的评论,所以决定研究JBPM的使用,但是网上一个完整的web样例也没有,问个问题也没有人回答,加了一个JBPM群,去里面问也没有人回答,很郁闷,知道一点的不少,但是能完整开发的人太少了。看来这块要做还是比较困难的,使用开源工作流引擎就希望少编码,但是研发一番才发现,学习成本高,还需要大量编码,还是有点没搞懂使用工作流引擎有什么用
      

  12.   

    原来有东西忘配了<property name="workflow" ref="workflow"></property>
    <property name="conf">
           <ref bean="osworkflowConfiguration" />
    </property>我是在登录的将一个流程对象存在session里面的.我没配之前 初始化工作的时也没 报空 异常呢结贴了!