def Send(self, url, opname, pyobj, nsdict={}, soapaction=None, chain=None, <EOL>**kw):
url = url or self.url<EOL>cookies = None<EOL>if chain is not None:<EOL><INDENT>cookies = chain.flow.cookies<EOL><DEDENT>d = {}<EOL>d.update(self.nsdict)<EOL>d.update(nsdict)<EOL>if soapaction is not None:<EOL><INDENT>self.addHTTPHeader('<STR_LIT>', soapaction)<EOL><DEDENT>chain = self.factory.newInstance()<EOL>soapdata = chain.processRequest(pyobj, nsdict=nsdict, <EOL>soapaction=soapaction, **kw)<EOL>if self.trace:<EOL><INDENT>print("<STR_LIT:_>" * <NUM_LIT>, time.ctime(time.time()), "<STR_LIT>", file=self.trace)<EOL>print(soapdata, file=self.trace)<EOL><DEDENT>f = getPage(str(url), contextFactory=self.contextFactory, <EOL>postdata=soapdata, agent=self.agent, <EOL>method='<STR_LIT:POST>', headers=self.getHTTPHeaders(), <EOL>cookies=cookies)<EOL>if isinstance(f, Failure):<EOL><INDENT>return f<EOL><DEDENT>chain.flow = f<EOL>self.chain = chain<EOL>return chain<EOL>
Returns a ProcessingChain which needs to be passed to Receive if 
        Send is being called consecutively.