how to start workflow instance on another zope server with SOAP?
Hi, I am very new to open source. I am trying to start an instance of a workflow on a Zope server from another Zope server. I did successfully with XML-RPC call but I need to do it with SOAP. I am note sure weather I can do it or not. I am running two Zope servers on my local m/c on 2 different ports. One is 8080 and 2nd one is 8090. On 8080: Page_template : SoapTest2 <html> <body> Activate instance at other server: <span tal:define= " l_user python:request.get('AUTHENTICATED_USER');"> <form action="SubmitNewSoapTest2" method="post" enctype="multipart/form-data"> <input type="file" name="p_file"><br> <input type="hidden" name="user" tal:attributes= "value python:l_user;"> <input type="hidden" name="password" value="Aruna"> <input type="submit" value="Submit"> </form> </span> </body> </html> SubmitNewSoapTest2 is external method. the python script for that is testTrigger as follow. from SOAPpy import SOAPProxy import xml.sax def startTestInstance2(self,p_file,user,password): myFile =p_file.read() # parser = xml.sax.make_parser() # parser.parse(myFile) url = 'http://localhost:8090/' namespace = 'urn:xmethods-testInstance' server = SOAPProxy(url, namespace) return server.SoapTestInstance(p_file,user,password) On 8090: I have a python script SoapTestInstance having 3 parameters (p_file,user,password) and following code. wf = context.TestFlow i_id = wf.addInstance('TestProcess', '', '', '', 0) instance = wf.getInstance(i_id) instance.manage_addFile(id="theFile", file=p_file, title="") wf.startInstance(i_id) wf.activateWorkitem(i_id, '0', user ) wf.completeWorkitem(i_id, '0') return "created new instance with code %s" % i_id It gives me following error. Error Type: SAXParseException Error Value: http://www.w3.org/TR/REC-html40/loose.dtd:31:2: error in processing external entity reference Any help will be appriciated. I already stucked here.. Aruna Kathiriya Sr.Consultant CIGNEX Technologies, Inc U: www.cignex.com "Implement IT Right"
Aruna Kathiriya wrote at 2004-8-24 17:57 -0700:
I am trying to start an instance of a workflow on a Zope server from another Zope server. I did successfully with XML-RPC call but I need to do it with SOAP.
Why? When you can control both client and server, XML-RPC should be as good as SOAP (better, because it is much simpler). Only when you cannot control the clients (and they speak SOAP), you should look for a SOAP solution.
I am note sure weather I can do it or not.
It is, but it will not be easy. Unlike for XML-RPC, Zope does not have built-in support for SOAP. Nevertheless, several people use Zope both as SOAP client and server. However, you will need gluing code together with ZSI. Expect several weeks of work until it will run. -- Dieter
participants (2)
-
Aruna Kathiriya -
Dieter Maurer