Package gavo :: Package web :: Module soaprender :: Class SOAPRenderer
[frames] | no frames]

Class SOAPRenderer

source code

                   object --+                        
                            |                        
       nevow.rend.DataFactory --+                    
                                |                    
                   object --+   |                    
                            |   |                    
     nevow.rend.RenderFactory --+                    
                                |                    
                   object --+   |                    
                            |   |                    
      nevow.rend.MacroFactory --+                    
                                |                    
                   object --+   |                    
                            |   |                    
 nevow.rend.ConfigurableMixin --+                    
                                |                    
              nevow.rend.Fragment --+                
                                    |                
   nevow.rend.ConfigurableFactory --+                
                                    |                
nevow.rend.FreeformChildMixin --+   |                
                                |   |                
      nevow.rend.ChildLookupMixin --+                
                                    |                
                      nevow.rend.Page --+            
                                        |            
                       object --+       |            
                                |       |            
           common.CommonRenderers --+   |            
                                    |   |            
                grend.GavoRenderMixin --+            
                                        |            
                           grend.GavoPage --+        
                                            |        
                      grend.ResourceBasedPage --+    
                                                |    
                           grend.ServiceBasedPage --+
                                                    |
                                                   SOAPRenderer

A renderer that receives and formats SOAP messages.

This is for remote procedure calls. In particular, the renderer takes care that you can obtain a WSDL definition of the service by appending ?wsdl to the access URL.

Instance Methods
 
runServiceFromArgs(self, ctx, args)
starts the service.
source code
 
renderHTTP(self, ctx)
returns the WSDL for service.
source code
 
locateChild(self, ctx, segments)
Locate a child page of this one.
source code

Inherited from grend.ServiceBasedPage: __init__, __provides__, child, data_serviceURL, processData, renderer, runService, runServiceWithFormalData

Inherited from grend.ResourceBasedPage: data_rdId

Inherited from nevow.rend.Page: child_, flattenFactory, onPostFailure, onPostSuccess, rememberStuff, renderString, renderSynchronously, webFormPost

Inherited from nevow.rend.Fragment: get, remember, rend

Inherited from nevow.rend.DataFactory: __providedBy__

Inherited from nevow.rend.RenderFactory: render_data, render_mapping, render_sequence, render_string, render_xml

Inherited from nevow.rend.MacroFactory: macro

Inherited from nevow.rend.ConfigurableMixin: getBinding, getBindingNames, getDefault, postForm

Inherited from grend.GavoRenderMixin: data_meta, data_rd, render_authinfo, render_datameta, render_explodableMeta, render_ifadmin, render_ifdata, render_ifmeta, render_ifnodata, render_ifnoslot, render_ifownmeta, render_ifslot, render_intro, render_meta, render_metahtml, render_prependsite, render_withsidebar

Inherited from common.CommonRenderers: render_commonhead, render_getconfig, render_rootlink, render_unicode, render_urlescape

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Inherited from nevow.rend.ConfigurableFactory: configurable_, configurable_original, locateConfigurable

Inherited from nevow.rend.ChildLookupMixin: childFactory, putChild

Inherited from nevow.rend.FreeformChildMixin: child_freeform_hand

Class Methods
 
makeAccessURL(cls, baseURL)
returns an accessURL for a service with baseURL to this renderer.
source code

Inherited from grend.ResourceBasedPage: isBrowseable, isCacheable

Class Variables
  name = 'soap'
hash(x)
  preferredMethod = 'POST'
  urlUse = 'full'

Inherited from grend.ServiceBasedPage: __implemented__, checkedRenderer, openRenderer

Inherited from grend.ResourceBasedPage: parameterStyle, resultType

Inherited from nevow.rend.Page: addSlash, afterRender, beforeRender, buffered

Inherited from nevow.rend.Fragment: docFactory, original

Inherited from grend.GavoRenderMixin: macroPackage

Inherited from nevow.rend.ChildLookupMixin: children

Properties

Inherited from object: __class__

Method Details

makeAccessURL(cls, baseURL)
Class Method

source code 
returns an accessURL for a service with baseURL to this renderer.
Overrides: grend.ResourceBasedPage.makeAccessURL
(inherited documentation)

runServiceFromArgs(self, ctx, args)

source code 

starts the service.

This being called back from the SOAPProcessor, and args is the argument tuple as given from SOAP.

renderHTTP(self, ctx)

source code 

returns the WSDL for service.

This is only called when there's a ?wsdl arg in the request, otherwise locateChild will return the SOAPProcessor.

Overrides: nevow.rend.Page.renderHTTP

locateChild(self, ctx, segments)

source code 

Locate a child page of this one. ctx is a nevow.context.PageContext representing the parent Page, and segments is a tuple of each element in the URI. An tuple (page, segments) should be returned, where page is an instance of nevow.rend.Page and segments a tuple representing the remaining segments of the URI. If the child is not found, return NotFound instead.

locateChild is designed to be easily overridden to perform fancy lookup tricks. However, the default locateChild is useful, and looks for children in three places, in this order:

  • in a dictionary, self.children
  • a member of self named child_<childname>. This can be either an attribute or a method. If an attribute, it should be an object which can be adapted to IResource. If a method, it should take the context and return an object which can be adapted to IResource.
  • by calling self.childFactory(ctx, name). Name is a single string instead of a tuple of strings. This should return an object that can be adapted to IResource.
Overrides: nevow.rend.FreeformChildMixin.locateChild