|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
How to Use SOAP with osworkflow---client test2Dear all:
I download osworkflow2.8 and deploy osworkflow-2.8.0-example (my environment: JDK1.5+Tomcat5.5+MSSQL2005) I can use soap to create a new workflow entry like this:newworkflow.jsp ======================================================== <%@ page import="com.opensymphony.workflow.Workflow"%> <%@ page import="com.opensymphony.workflow.basic.BasicWorkflow"%> <%@ page import="org.codehaus.xfire.client.XFireProxyFactory"%> <%@ page import="org.codehaus.xfire.service.Service"%> <%@ page import="org.codehaus.xfire.service.binding.ObjectServiceFactory"%> <% String serviceURL = "http://localhost:8080/osworkflow/soap/Workflow"; Service serviceModel = new ObjectServiceFactory().create(Workflow.class); XFireProxyFactory serviceFactory = new XFireProxyFactory(); Workflow wf = (Workflow) serviceFactory.create(serviceModel, serviceURL); //Workflow wf = new BasicWorkflow((String) session.getAttribute("username")); long id = wf.initialize("example", 100, null); %> New workflow entry <a href="test.jsp?id=<%=id%>">#<%=id%></a> created and initialized! <%@ include file="nav.jsp" %> ========================================================== but when i try to do other things like:test.jsp =========================================================== <% ....... Long id = Long.parseLong(request.getParameter("id")); String doString = request.getParameter("do"); if (doString != null && !doString.equals("")) { int action = Integer.parseInt(doString); wf .doAction(id, action, Collections.EMPTY_MAP); } int[] actions = wf.getAvailableActions(id, null); WorkflowDescriptor wd = wf.getWorkflowDescriptor(wf.getWorkflowName(id)); for (int i = 0; i < actions.length; i++) { String name = wd.getAction(actions[i]).getName(); %> <li> <a href="test.jsp?id=<%=id%>&do=<%= actions[i] %>"><%= name %></a> <% } %> ...... ========================================================= i got error message: exception org.apache.jasper.JasperException: Exception in JSP: /test.jsp:33 30: } 31: 32: int[] actions = wf.getAvailableActions(id, null); 33: WorkflowDescriptor wd = wf.getWorkflowDescriptor(wf.getWorkflowName(id)); 34: 35: for (int i = 0; i < actions.length; i++) { 36: String name = wd.getAction(actions[i]).getName(); Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: No write method for property {http://loader.workflow.opensymphony.com}commonActions in class com.opensymphony.workflow.loader.WorkflowDescriptor org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:92) org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57) $Proxy0.getWorkflowDescriptor(Unknown Source) org.apache.jsp.test_jsp._jspService(test_jsp.java:87) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) root cause org.codehaus.xfire.fault.XFireFault: No write method for property {http://loader.workflow.opensymphony.com}commonActions in class com.opensymphony.workflow.loader.WorkflowDescriptor org.codehaus.xfire.aegis.type.basic.BeanType.writeProperty(BeanType.java:283) org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:167) org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:169) org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206) org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:51) org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42) org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131) org.codehaus.xfire.client.Client.onReceive(Client.java:406) org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139) org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:48) org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26) org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131) org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79) org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114) org.codehaus.xfire.client.Client.invoke(Client.java:336) org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77) org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57) $Proxy0.getWorkflowDescriptor(Unknown Source) org.apache.jsp.test_jsp._jspService(test_jsp.java:87) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) why i can't get WorkflowDescriptor??? (WorkflowDescriptor wd = wf.getWorkflowDescriptor(wf.getWorkflowName(id));) i also can't use workflow.query() like underway.jsp ====================================================== .... List workflows = (List) wf.query(query); ..... ====================================================== the example can run without error if i use basicworkflow: Workflow wf = new BasicWorkflow((String) session.getAttribute("username")); Please kindly help me and excuse my poor English >""""< Thank a lot!! --------------------------------------------------------------------- Posted via Jive Forums http://forums.opensymphony.com/thread.jspa?threadID=377384&messageID=463890#463890 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@... For additional commands, e-mail: users-help@... |
| Free Forum Powered by Nabble | Forum Help |