|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
How to Use SOAP with osworkflow---client testDear all:
I deployed osworkflow-2.8.0-example.war and want to use soap xfire but failed, Idon't know what's wrong... here is my configeration ================================================= ##osworkflow/WEB-INF/web.xml---nothing change <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>OSWorkflow Example App</display-name> <servlet> <servlet-name>SOAPWorkflow</servlet-name> <servlet-class>com.opensymphony.workflow.soap.SOAPWorkflowServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SOAPWorkflow</servlet-name> <url-pattern>/soap/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app> ================================================= ##osworkflow/META-INF/xfire/service.xml----i add <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>Workflow</name> <namespace>http://workflow.opensymphony.com</namespace> <serviceClass>com.opensymphony.workflow.Workflow</serviceClass> <implementationClass>com.opensymphony.workflow.basic.BasicWorkflow</implementationClass> </service> </beans> ====================================================== ## osworkflow/soap_client.jsp ---test client <%@ page import="com.opensymphony.workflow.Workflow"%> <%@ page import="org.codehaus.xfire.XFireFactory"%> <%@ 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?wsdl"; long id = 0; Service serviceModel = new ObjectServiceFactory().create(Workflow.class, "Workflow", "http://workflow.opensymphony.com", null); Workflow wf = (Workflow) new XFireProxyFactory().create(serviceModel, serviceUrl); try { id = wf.initialize("example", 100, null); out.println("New workflow entry "+id+" created and initialized!"); } catch (Exception ex) { ex.printStackTrace(); } %> test http://localhost:8080/osworkflow/soap_client.jsp but I got error message: org.apache.jasper.JasperException: Exception in JSP: /soap_client.jsp:9 6: <% 7: String serviceUrl = "http://localhost:8080/osworkflow/soap/Workflow?wsdl"; 8: long id = 0; 9: Service serviceModel = new ObjectServiceFactory().create(Workflow.class, "Workflow", "http://workflow.opensymphony.com", null); 10: Workflow wf = (Workflow) new XFireProxyFactory().create(serviceModel, serviceUrl); 11: 12: try { 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 java.lang.NullPointerException org.codehaus.xfire.service.binding.ObjectServiceFactory.createBindings(ObjectServiceFactory.java:250) org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:229) org.apache.jsp.soap_005fclient_jsp._jspService(soap_005fclient_jsp.java:55) 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) i already see http://xfire.codehaus.org/Client+API http://wiki.opensymphony.com/display/WF/3.8+SOAP+Support but still don't know how to new a workflow using soap please kindly help me, thank you --------------------------------------------------------------------- Posted via Jive Forums http://forums.opensymphony.com/thread.jspa?threadID=369652&messageID=455970#455970 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@... For additional commands, e-mail: users-help@... |
|
|
Re: How to Use SOAP with osworkflow---client testI find 2 solutions
************************************************************************************* <1> just download xfire-aegis-1.0.jar,xfire-core-1.0.jar replace the old xfire jar file, and download commons-codec-1.3.jar,commons-httpclient-3.1.jar alse needed. <2>if you want to use xfire version 1.2.6... 1.you should alse put these in your classes/lib... axis-wsdl4j-1.5.1.jar (replace wsdl4j-1.4.jar) jaxme-api-0.3.1.jar spring-beans-1.2.6.jar spring-context-1.2.6.jar spring-core-1.2.6.jar spring-web-1.2.6.jar xbean-spring-2.4.jar xbean-spring-common-2.4.jar xfire-all-1.2.6 2.your services.xml should located at classes\META-INF\xfire ==================================== services.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>Workflow</name> <namespace>http://workflow.opensymphony.com/Workflow</namespace> <serviceClass>com.opensymphony.workflow.Workflow</serviceClass> <implementationClass>com.opensymphony.workflow.soap.XFireSOAPWorkflow</implementationClass> </service> </beans> =============================================== 3.update web.xml SOAPWorkflow severlet like this... <servlet> <servlet-name>SOAPWorkflow</servlet-name> <servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>SOAPWorkflow</servlet-name> <url-pattern>/soap/*</url-pattern> </servlet-mapping> ************************************************************************************* then you can use soap... ex: newworkflow.jsp <%@ page import="com.opensymphony.workflow.Workflow,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" %> --------------------------------------------------------------------- Posted via Jive Forums http://forums.opensymphony.com/thread.jspa?threadID=369652&messageID=463855#463855 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@... For additional commands, e-mail: users-help@... |
| Free Forum Powered by Nabble | Forum Help |