Changeset 1747


Ignore:
Timestamp:
23/11/06 16:13:59 (13 years ago)
Author:
pjkersha
Message:

server/SessionMgr/* - Session Manager server side WS interface - wsdl2dispatch
generated + Twisted .tac file.
www/html/sessionMgr.wsdl: updated to doc/lit style + added disconnect operation.
common/SessionMgr: common package for wsdl2py generated files required by
client and server.
Tests/Echo?/wsSecurity.py: include test for verify boolean in verify method!

Location:
TI12-security/trunk/python
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/Tests/Echo/wsSecurity.py

    r1740 r1747  
    459459                                           signatureValue)) 
    460460        except RSA.RSAError: 
    461             raise VerifyError, "Invalid Signature" 
     461            raise VerifyError, "Error in Signature" 
     462         
     463        if not verify: 
     464            raise VerifyError, "Invalid signature" 
    462465         
    463466#        import pdb;pdb.set_trace() 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/AttAuthority/README

    r1724 r1747  
    22with: 
    33 
    4 $ wsdl2dispatch -e -f ~/security/python/www/html/attAuthority.wsdl 
     4$ wsdl2dispatch -e -f ../../../../../www/html/attAuthority.wsdl 
    55 
    66AttAuthorityService soap_* methods modified to return request 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/SessionMgr/README

    r1743 r1747  
    1 AttAuthority server package.  AttAuthority_services_server.py autogenerated 
     1Session Manager server package.  SessionMgr_services_server.py autogenerated 
    22with: 
    33 
    4 $ wsdl2dispatch -e -f ~/security/python/www/html/attAuthority.wsdl 
     4$ wsdl2dispatch -e -f ../../../../../www/html/sessionMgr.wsdl 
    55 
    6 AttAuthorityService soap_* methods modified to return request 
     6SessionMgrService soap_* methods modified to return request 
    77and result to fit with interface to Twisted. 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/SessionMgr/SessionMgr_services_server.py

    r1711 r1747  
    1 """NDG Session Manager Web service server side interface.  Generated and  
    2 adapted from: 
    3  
    4 wsdl2dispatch -f sessionMgr.wsdl 
    5  
    6 NERC Data Grid Project 
    7  
    8 P J Kershaw 18/12/05 
    9  
    10 Copyright (C) 2006 CCLRC & NERC 
    11  
    12 This software may be distributed under the terms of the Q Public License, 
    13 version 1.0 or later. 
    14 """ 
    15  
     1################################################## 
     2# SessionMgr_services_server.py 
     3#      Generated by ZSI.generate.wsdl2dispatch.DelAuthServiceModuleWriter 
     4# 
     5################################################## 
     6 
     7from SessionMgr_services import * 
    168from ZSI.ServiceContainer import ServiceSOAPBinding 
    179 
    18 # wsdl2py generated 
    19 from sessionMgr_services import * 
    20  
    21 from Session import * 
    22  
    23 # Create custom XML formatted error response where needed 
    24 from SessionMgrIO import * 
    25  
    26  
    27 class sessionMgr(ServiceSOAPBinding): 
    28     soapAction = { 
    29         'urn:sessionMgr#addUser': 'soap_addUser', 
    30         'urn:sessionMgr#connect': 'soap_connect', 
    31         'urn:sessionMgr#reqAuthorisation': 'soap_reqAuthorisation', 
    32         'urn:sessionMgr#getPubKey': 'soap_getPubKey', 
    33         } 
    34  
    35     def __init__(self, srv, debug=False, post='/sessionMgr.wsdl', **kw): 
    36          
     10class SessionMgrService(ServiceSOAPBinding): 
     11    soapAction = {} 
     12    root = {} 
     13    _wsdl = """<?xml version=\"1.0\" ?> 
     14<wsdl:definitions name=\"SessionMgr\" targetNamespace=\"urn:ndg:security\" xmlns=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:tns=\"urn:ndg:security\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" xmlns:wsu=\"http://schemas.xmlsoap.org/ws/2002/07/utility\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"> 
     15 
     16  <wsdl:types> 
     17    <xsd:schema> 
     18      <xsd:element name=\"addUser\"> 
     19        <xsd:complexType> 
     20          <xsd:sequence> 
     21            <xsd:element maxOccurs=\"1\" minOccurs=\"1\" name=\"username\" type=\"xsd:string\"/> 
     22            <xsd:element maxOccurs=\"1\" minOccurs=\"1\" name=\"passPhrase\" type=\"xsd:string\"/> 
     23          </xsd:sequence> 
     24        </xsd:complexType> 
     25      </xsd:element> 
     26       
     27      <xsd:element name=\"addUserResponse\"> 
     28        <xsd:complexType/> 
     29      </xsd:element> 
     30 
     31      <xsd:element name=\"connect\"> 
     32        <xsd:complexType> 
     33          <xsd:sequence> 
     34            <xsd:element maxOccurs=\"1\" minOccurs=\"1\" name=\"username\" type=\"xsd:string\"/> 
     35            <xsd:element maxOccurs=\"1\" minOccurs=\"1\" name=\"passPhrase\" type=\"xsd:string\"/> 
     36          </xsd:sequence> 
     37        </xsd:complexType> 
     38      </xsd:element> 
     39       
     40      <xsd:element name=\"connectResponse\"> 
     41        <xsd:complexType> 
     42                  <xsd:sequence> 
     43                    <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"cookie\" type=\"xsd:string\"/> 
     44                    <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"proxyCert\" type=\"xsd:string\"/> 
     45                  </xsd:sequence> 
     46                </xsd:complexType> 
     47      </xsd:element> 
     48 
     49      <xsd:element name=\"disconnect\"> 
     50        <xsd:complexType> 
     51                  <xsd:sequence> 
     52                    <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"cookie\" type=\"xsd:string\"/> 
     53                    <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"proxyCert\" type=\"xsd:string\"/> 
     54                  </xsd:sequence> 
     55                </xsd:complexType> 
     56      </xsd:element> 
     57 
     58      <xsd:element name=\"disconnectResponse\"> 
     59        <xsd:complexType/> 
     60      </xsd:element> 
     61 
     62      <xsd:element name=\"reqAuthorisation\"> 
     63        <xsd:complexType> 
     64                  <xsd:sequence> 
     65                    <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"cookie\" type=\"xsd:string\"/> 
     66                    <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"proxyCert\" type=\"xsd:string\"/> 
     67                  </xsd:sequence> 
     68                </xsd:complexType> 
     69      </xsd:element> 
     70       
     71      <xsd:element name=\"reqAuthorisationResponse\"> 
     72        <xsd:complexType> 
     73              <xsd:sequence> 
     74                <xsd:element maxOccurs=\"1\" minOccurs=\"0\" name=\"attCert\" type=\"xsd:string\"/> 
     75              </xsd:sequence> 
     76            </xsd:complexType> 
     77      </xsd:element> 
     78 
     79      <xsd:element name=\"getPubKey\"> 
     80        <xsd:complexType/> 
     81      </xsd:element> 
     82       
     83      <xsd:element name=\"getPubKeyResponse\"> 
     84        <xsd:complexType> 
     85                  <xsd:sequence> 
     86                    <xsd:element maxOccurs=\"1\" minOccurs=\"1\" name=\"x509Cert\" type=\"xsd:string\"/> 
     87                  </xsd:sequence> 
     88                </xsd:complexType> 
     89      </xsd:element> 
     90 
     91    </xsd:schema> 
     92  </wsdl:types> 
     93  
     94  <message name=\"addUserInputMsg\"> 
     95    <part element=\"tns:connect\" name=\"parameters\"/> 
     96  </message> 
     97 
     98  <message name=\"addUserOutputMsg\"> 
     99    <part element=\"tns:connectResponse\" name=\"parameters\"/> 
     100  </message> 
     101  
     102  <message name=\"connectInputMsg\"> 
     103    <part element=\"tns:connect\" name=\"parameters\"/> 
     104  </message> 
     105 
     106  <message name=\"connectOutputMsg\"> 
     107    <part element=\"tns:connectResponse\" name=\"parameters\"/> 
     108  </message> 
     109   
     110  <message name=\"disconnectInputMsg\"> 
     111    <part element=\"tns:disconnect\" name=\"parameters\"/> 
     112  </message> 
     113 
     114  <message name=\"disconnectOutputMsg\"> 
     115    <part element=\"tns:disconnectResponse\" name=\"parameters\"/> 
     116  </message> 
     117 
     118  <message name=\"reqAuthorisationInputMsg\"> 
     119    <part element=\"tns:reqAuthorisation\" name=\"parameters\"/> 
     120  </message> 
     121 
     122  <message name=\"reqAuthorisationOutputMsg\"> 
     123    <part element=\"tns:reqAuthorisationResponse\" name=\"parameters\"/> 
     124  </message> 
     125 
     126  <message name=\"getPubKeyInputMsg\"> 
     127    <part element=\"tns:getPubKey\" name=\"parameters\"/> 
     128  </message> 
     129 
     130  <message name=\"getPubKeyOutputMsg\"> 
     131    <part element=\"tns:getPubKeyResponse\" name=\"parameters\"/> 
     132  </message> 
     133 
     134  <wsdl:portType name=\"SessionMgr\"> 
     135    <wsdl:operation name=\"addUser\"> 
     136      <wsdl:input message=\"tns:addUserInputMsg\"/> 
     137      <wsdl:output message=\"tns:addUserOutputMsg\"/> 
     138    </wsdl:operation> 
     139 
     140    <operation name=\"connect\"> 
     141      <wsdl:input message=\"tns:connectInputMsg\"/> 
     142      <wsdl:output message=\"tns:connectOutputMsg\"/> 
     143    </operation> 
     144 
     145    <operation name=\"disconnect\"> 
     146      <wsdl:input message=\"tns:disconnectInputMsg\"/> 
     147      <wsdl:output message=\"tns:disconnectOutputMsg\"/> 
     148    </operation> 
     149 
     150    <operation name=\"reqAuthorisation\"> 
     151      <wsdl:input message=\"tns:reqAuthorisationInputMsg\"/> 
     152      <wsdl:output message=\"tns:reqAuthorisationOutputMsg\"/> 
     153    </operation> 
     154 
     155    <operation name=\"getPubKey\"> 
     156      <wsdl:input message=\"tns:getPubKeyInputMsg\"/> 
     157      <wsdl:output message=\"tns:getPubKeyOutputMsg\"/> 
     158    </operation> 
     159  </wsdl:portType>   
     160   
     161  <wsdl:binding name=\"SessionMgrBinding\" type=\"tns:SessionMgr\"> 
     162    <soap:binding style=\"document\" transport=\"http://schemas.xmlsoap.org/soap/http\"/> 
     163 
     164    <operation name=\"addUser\"> 
     165      <soap:operation soapAction=\"addUser\"/> 
     166      <wsdl:input> 
     167        <soap:body use=\"literal\"/> 
     168      </wsdl:input> 
     169      <wsdl:output> 
     170        <soap:body use=\"literal\"/> 
     171      </wsdl:output>  
     172    </operation> 
     173     
     174    <operation name=\"connect\"> 
     175      <soap:operation soapAction=\"connect\"/> 
     176      <wsdl:input> 
     177        <soap:body use=\"literal\"/> 
     178      </wsdl:input> 
     179      <wsdl:output> 
     180        <soap:body use=\"literal\"/> 
     181      </wsdl:output>  
     182    </operation> 
     183     
     184    <operation name=\"disconnect\"> 
     185      <soap:operation soapAction=\"disconnect\"/> 
     186      <wsdl:input> 
     187        <soap:body use=\"literal\"/> 
     188      </wsdl:input> 
     189      <wsdl:output> 
     190        <soap:body use=\"literal\"/> 
     191      </wsdl:output>  
     192    </operation> 
     193     
     194    <operation name=\"reqAuthorisation\"> 
     195      <soap:operation soapAction=\"reqAuthorisation\"/> 
     196      <wsdl:input> 
     197        <soap:body use=\"literal\"/> 
     198      </wsdl:input> 
     199      <wsdl:output> 
     200        <soap:body use=\"literal\"/> 
     201      </wsdl:output>  
     202    </operation> 
     203 
     204    <operation name=\"getPubKey\"> 
     205      <soap:operation soapAction=\"getPubKey\"/> 
     206      <wsdl:input> 
     207        <soap:body use=\"literal\"/> 
     208      </wsdl:input> 
     209      <wsdl:output> 
     210        <soap:body use=\"literal\"/> 
     211      </wsdl:output>  
     212    </operation>     
     213   
     214  </wsdl:binding> 
     215 
     216  <wsdl:service name=\"SessionMgrService\"> 
     217    <wsdl:documentation>NERC Data Grid Session Manager web service</wsdl:documentation> 
     218    <wsdl:port binding=\"tns:SessionMgrBinding\" name=\"SessionMgr\"> 
     219      <soap:address location=\"http://localhost:5000\"/> 
     220    </wsdl:port> 
     221  </wsdl:service> 
     222</wsdl:definitions>""" 
     223 
     224    def __init__(self, post='', **kw): 
    37225        ServiceSOAPBinding.__init__(self, post) 
    38  
    39         # Link WS to underlying session manager class instance 
    40         if not isinstance(srv, SessionMgr): 
    41             SessionMgrError("Expecting SessionMgr type") 
    42              
    43         self.__srv = srv 
    44          
    45         self.__debug = debug 
    46          
    47          
    48     #_________________________________________________________________________ 
     226        if kw.has_key('impl'): 
     227            self.impl = kw['impl'] 
     228        self.auth_method_name = None 
     229        if kw.has_key('auth_method_name'): 
     230            self.auth_method_name = kw['auth_method_name'] 
     231    def authorize(self, auth_info, post, action): 
     232        if self.auth_method_name and hasattr(self.impl, self.auth_method_name): 
     233            return getattr(self.impl, self.auth_method_name)(auth_info, post, action) 
     234        else: 
     235            return 1 
     236 
    49237    def soap_addUser(self, ps): 
    50         """SOAP interface to NDG Session Manager WS addUser.""" 
    51         
    52         if self.__debug: 
    53             import pdb 
    54             pdb.set_trace() 
    55  
    56         # input vals in request object 
    57         reqArgs = ps.Parse(addUserRequestWrapper) 
    58         reqTxt = str(reqArgs._addUserReq) 
    59  
    60         # assign return values to response object 
    61         resp = addUserResponseWrapper() 
    62  
    63          
    64         try: 
    65             # Decrypt and parse input 
    66             reqKeys = AddUserReq(xmlTxt=reqTxt, 
    67                                  encrPriKeyFilePath=self.__srv['keyFile'], 
    68                                  encrPriKeyPwd=self.__srv['keyPPhrase']) 
    69         
    70             # New user request for Session Manager 
    71             addUserResp = self.__srv.addUser(**reqKeys.xmlTags) 
    72  
    73         except Exception, e: 
    74             # Nb. catch exception here so that error message will be encrypted 
    75             # if 'encrCert' key was set 
    76             addUserResp = AddUserResp(errMsg=str(e)) 
    77  
    78  
    79         try: 
    80             # Encrypt response and convert into XML formatted string 
    81             if 'encrCert' in reqKeys: 
    82                  
    83                 # ConnectResp class expects the public key to be in a file 
    84                 # - Copy public key string content into a temporary file 
    85                 encrCertTmpFile = tempfile.NamedTemporaryFile()                     
    86                 open(encrCertTmpFile.name, "w").write(reqKeys['encrCert']) 
    87      
    88                 addUserResp.encrypt(encrPubKeyFilePath=encrCertTmpFile.name) 
    89                  
    90         except Exception, e: 
    91             addUserResp = AddUserResp(errMsg=str(e)) 
    92          
    93  
    94         # Convert response into encrypted XML formatted string 
    95         resp._addUserResp = addUserResp() 
    96         return resp 
    97  
    98  
    99     #_________________________________________________________________________ 
     238        self.request = ps.Parse(addUserInputMsg.typecode) 
     239        parameters = (self.request._username, self.request._passPhrase) 
     240 
     241        # If we have an implementation object use it 
     242        if hasattr(self,'impl'): 
     243            parameters = self.impl.addUser(parameters[0],parameters[1]) 
     244 
     245        result = addUserOutputMsg() 
     246        # If we have an implementation object, copy the result  
     247        if hasattr(self,'impl'): 
     248            # Should have a tuple of 2 args 
     249            result._cookie = parameters[0] 
     250            result._proxyCert = parameters[1] 
     251        return self.request, result 
     252 
     253    soapAction['addUser'] = 'soap_addUser' 
     254    root[(addUserInputMsg.typecode.nspname,addUserInputMsg.typecode.pname)] = 'soap_addUser' 
     255 
    100256    def soap_connect(self, ps): 
    101         """SOAP interface to NDG Session Manager WS connect.""" 
    102          
    103         if self.__debug: 
    104             import pdb 
    105             pdb.set_trace() 
    106              
    107         # input vals in request object 
    108         reqArgs = ps.Parse(connectRequestWrapper) 
    109         reqTxt = str(reqArgs._connectReq) 
    110  
    111         # assign return values to response object 
    112         resp = connectResponseWrapper() 
    113  
    114          
    115         try: 
    116             # Decrypt and parse input 
    117             reqKeys = ConnectReq(xmlTxt=reqTxt, 
    118                                  encrPriKeyFilePath=self.__srv['keyFile'], 
    119                                  encrPriKeyPwd=self.__srv['keyPPhrase']) 
    120         
    121             # Request a connection from the Session Manager 
    122             connectResp = self.__srv.connect(**reqKeys.xmlTags)  
    123  
    124         except Exception, e: 
    125             # Nb. catch exception here so that error message will be encrypted 
    126             # if 'encrCert' key was set 
    127             connectResp = ConnectResp(errMsg=str(e)) 
    128  
    129  
    130         try: 
    131             # Encrypt response and convert into XML formatted string 
    132             if 'encrCert' in reqKeys: 
    133                  
    134                 # ConnectResp class expects the public key to be in a file 
    135                 # - Copy public key string content into a temporary file 
    136                 encrCertTmpFile = tempfile.NamedTemporaryFile()                     
    137                 open(encrCertTmpFile.name, "w").write(reqKeys['encrCert']) 
    138      
    139                 connectResp.encrypt(encrPubKeyFilePath=encrCertTmpFile.name) 
    140                  
    141         except Exception, e: 
    142             connectResp = ConnectResp(errMsg=str(e)) 
    143                     
    144                                          
    145         resp._connectResp = connectResp()         
    146         return resp 
    147  
    148  
    149     #_________________________________________________________________________ 
     257        self.request = ps.Parse(connectInputMsg.typecode) 
     258        parameters = (self.request._username, self.request._passPhrase) 
     259 
     260        # If we have an implementation object use it 
     261        if hasattr(self,'impl'): 
     262            parameters = self.impl.connect(parameters[0],parameters[1]) 
     263 
     264        result = connectOutputMsg() 
     265        # If we have an implementation object, copy the result  
     266        if hasattr(self,'impl'): 
     267            # Should have a tuple of 2 args 
     268            result._cookie = parameters[0] 
     269            result._proxyCert = parameters[1] 
     270        return self.request, result 
     271 
     272    soapAction['connect'] = 'soap_connect' 
     273    root[(connectInputMsg.typecode.nspname,connectInputMsg.typecode.pname)] = 'soap_connect' 
     274 
     275    def soap_disconnect(self, ps): 
     276        self.request = ps.Parse(disconnectInputMsg.typecode) 
     277        parameters = (self.request._cookie, self.request._proxyCert) 
     278 
     279        # If we have an implementation object use it 
     280        if hasattr(self,'impl'): 
     281            parameters = self.impl.disconnect(parameters[0],parameters[1]) 
     282 
     283        result = disconnectOutputMsg() 
     284        return self.request, result 
     285 
     286    soapAction['disconnect'] = 'soap_disconnect' 
     287    root[(disconnectInputMsg.typecode.nspname,disconnectInputMsg.typecode.pname)] = 'soap_disconnect' 
     288 
    150289    def soap_reqAuthorisation(self, ps): 
    151         """Make an authorisation request via the session manager""" 
    152          
    153         if self.__debug: 
    154             import pdb 
    155             pdb.set_trace() 
    156              
    157         # input vals in request object 
    158         reqArgs = ps.Parse(authorisationRequestWrapper) 
    159         reqTxt = str(reqArgs._authorisationReq) 
    160          
    161         # assign return values to response object 
    162         resp = authorisationResponseWrapper() 
    163  
    164          
    165         try: 
    166             # Decrypt and parse input 
    167             reqKeys = AuthorisationReq(xmlTxt=reqTxt, 
    168                                      encrPriKeyFilePath=self.__srv['keyFile'], 
    169                                      encrPriKeyPwd=self.__srv['keyPPhrase']) 
    170              
    171             # Make request to local instance       
    172             authResp = self.__srv.reqAuthorisation(**reqKeys.xmlTags) 
    173  
    174         except Exception, e: 
    175             # Nb. catch exception here so that error message will be encrypted 
    176             # if 'encrCert' key was set 
    177             authResp = AuthorisationResp(\ 
    178                                     statCode=AuthorisationResp.accessError, 
    179                                     errMsg=str(e)) 
    180  
    181  
    182         try: 
    183             # Encrypt response and convert into XML formatted string 
    184             if 'encrCert' in reqKeys: 
    185                  
    186                 # ConnectResp class expects the public key to be in a file 
    187                 # - Copy public key string content into a temporary file 
    188                 encrCertTmpFile = tempfile.NamedTemporaryFile()                     
    189                 open(encrCertTmpFile.name, "w").write(reqKeys['encrCert']) 
    190      
    191                 authResp.encrypt(encrPubKeyFilePath=encrCertTmpFile.name) 
    192                  
    193         except Exception, e: 
    194             authResp = AuthorisationResp(\ 
    195                                       statCode=AuthorisationResp.accessError, 
    196                                       errMsg=str(e)) 
    197  
    198          
    199         # Convert response into encrypted XML formatted string     
    200         resp._authorisationResp = authResp()                                                             
    201         return resp 
    202  
    203  
    204     #_________________________________________________________________________ 
     290        self.request = ps.Parse(reqAuthorisationInputMsg.typecode) 
     291        parameters = (self.request._cookie, self.request._proxyCert) 
     292 
     293        # If we have an implementation object use it 
     294        if hasattr(self,'impl'): 
     295            parameters = self.impl.reqAuthorisation(parameters[0],parameters[1]) 
     296 
     297        result = reqAuthorisationOutputMsg() 
     298        # If we have an implementation object, copy the result  
     299        if hasattr(self,'impl'): 
     300            result._attCert = parameters 
     301        return self.request, result 
     302 
     303    soapAction['reqAuthorisation'] = 'soap_reqAuthorisation' 
     304    root[(reqAuthorisationInputMsg.typecode.nspname,reqAuthorisationInputMsg.typecode.pname)] = 'soap_reqAuthorisation' 
     305 
    205306    def soap_getPubKey(self, ps): 
    206         """Get session manager public key in order to initiate a encrypted 
    207         request""" 
    208          
    209         if self.__debug: 
    210             import pdb 
    211             pdb.set_trace() 
    212  
    213          
    214         # assign return values to response object 
    215         resp = pubKeyResponseWrapper() 
    216  
    217          
    218         try: 
    219             # Get public key file and read into string      
    220             pubKey = open(self.__srv['certFile']).read() 
    221             pubKeyResp = PubKeyResp(pubKey=pubKey) 
    222              
    223         except IOError, (errNo, errMsg): 
    224             pubKeyResp = PubKeyResp(errMsg="Reading public key \"%s\": %s" % \ 
    225                                     (self.__srv['certFile'], errMsg))                 
    226         except Exception, e: 
    227             pubKeyResp = PubKeyResp(errMsg=str(e)) 
    228  
    229          
    230         # Convert response into encrypted XML formatted string     
    231         resp._pubKeyResp = pubKeyResp()                                                             
    232         return resp 
     307        self.request = ps.Parse(getPubKeyInputMsg.typecode) 
     308 
     309        # If we have an implementation object use it 
     310        if hasattr(self,'impl'): 
     311            parameters = self.impl.getPubKey() 
     312 
     313        result = getPubKeyOutputMsg() 
     314        # If we have an implementation object, copy the result  
     315        if hasattr(self,'impl'): 
     316            result._x509Cert = parameters 
     317        return self.request, result 
     318 
     319    soapAction['getPubKey'] = 'soap_getPubKey' 
     320    root[(getPubKeyInputMsg.typecode.nspname,getPubKeyInputMsg.typecode.pname)] = 'soap_getPubKey' 
     321 
  • TI12-security/trunk/python/ndg.security.server/ndg/security/server/SessionMgr/server-config.tac

    r1743 r1747  
    22"""NDG Security Attribute Authority .tac file  
    33 
    4 This file enables the Attribute Authority web service to be  
     4This file enables the Session Manager web service to be  
    55called under the Twisted framework 
    66 
    77NERC Data Grid Project 
    88 
    9 P J Kershaw 17/11/06 
     9P J Kershaw 23/11/06 
    1010 
    1111Copyright (C) 2006 CCLRC & NERC 
     
    2121from twisted.web.resource import Resource 
    2222 
    23 from AttAuthority_services_server import AttAuthorityService 
    24 import AttAuthority 
     23from SessionMgr_services_server import SessionMgrService 
     24import SessionMgr 
    2525 
    26 class AttAuthorityServiceSub(AttAuthorityService, WSResource): 
     26class SessionMgrServiceSub(SessionMgrService, WSResource): 
    2727     def __init__(self): 
    2828         WSResource.__init__(self) 
    2929          
    3030         # Initialize Attribute Authority class 
    31          self.__aa = AttAuthority() 
     31         self.__sm = SessionMgr() 
    3232 
    33      def soap_getAttCert(self, ps, **kw): 
     33     def soap_addUser(self, ps, **kw): 
    3434         #import pdb;pdb.set_trace() 
    35          request, response = AttAuthorityService.soap_getAttCert(self, ps) 
    36          response.set_element_attCert('ATTRIBUTE CERT') 
     35         request, response = SessionMgrService.soap_addUser(self, ps) 
    3736         return request, response 
    3837 
    39      def soap_getHostInfo(self, ps, **kw): 
    40          import pdb;pdb.set_trace() 
    41          request, response = AttAuthorityService.soap_getHostInfo(self, ps) 
    42          response.set_element_hostInfo('HOST INFO') 
     38     def soap_connect(self, ps, **kw): 
     39         #import pdb;pdb.set_trace() 
     40         request, response = SessionMgrService.soap_getHostInfo(self, ps) 
    4341         return request, response 
    4442 
    45      def soap_getTrustedHostInfo(self, ps, **kw): 
     43     def soap_disconnect(self, ps, **kw): 
    4644         #import pdb;pdb.set_trace() 
    4745         request, response = \ 
    48                 AttAuthorityService.soap_getTrustedHostInfo(self, ps) 
    49          response.set_element_trustedHosts('TRUSTED HOST INFO') 
     46                SessionMgrService.soap_disconnect(self, ps) 
     47         return request, response 
     48 
     49     def soap_reqAuthorisation(self, ps, **kw): 
     50         #import pdb;pdb.set_trace() 
     51         request, response = \ 
     52                SessionMgrService.soap_reqAuthorisation(self, ps) 
    5053         return request, response 
    5154 
    5255     def soap_getPubKey(self, ps, **kw): 
    5356         #import pdb;pdb.set_trace() 
    54          request, response = AttAuthorityService.soap_getPubKey(self, ps) 
     57         request, response = SessionMgrService.soap_getPubKey(self, ps) 
    5558         response.set_element_x509Cert('X.509 Cert.') 
    5659         return request, response 
    5760 
    58 portNum = 5700 
     61portNum = 5000 
    5962hostname = socket.gethostname() 
    6063 
    6164root = Resource() 
    62 root.putChild('AttributeAuthority', AttAuthorityServiceSub()) 
     65root.putChild('SessionManager', SessionMgrServiceSub()) 
    6366siteFactory = Site(root) 
    64 application = service.Application("WSRF-Container") 
     67application = service.Application("ndgSecurityContainer") 
    6568port = internet.TCPServer(portNum, siteFactory)#, interface=hostname) 
    6669port.setServiceParent(application) 
  • TI12-security/trunk/python/www/html/sessionMgr.wsdl

    r1743 r1747  
    1313  <wsdl:types> 
    1414    <xsd:schema> 
    15       <xsd:element name="connect"> 
     15      <xsd:element name="addUser"> 
    1616        <xsd:complexType> 
    1717          <xsd:sequence> 
     
    2222      </xsd:element> 
    2323       
     24      <xsd:element name="addUserResponse"> 
     25        <xsd:complexType/> 
     26      </xsd:element> 
     27 
     28      <xsd:element name="connect"> 
     29        <xsd:complexType> 
     30          <xsd:sequence> 
     31            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
     32            <xsd:element name="passPhrase" type="xsd:string" minOccurs="1" maxOccurs="1"/> 
     33          </xsd:sequence> 
     34        </xsd:complexType> 
     35      </xsd:element> 
     36       
    2437      <xsd:element name="connectResponse"> 
    2538        <xsd:complexType> 
     
    6477        <xsd:complexType/> 
    6578      </xsd:element> 
     79       
    6680      <xsd:element name="getPubKeyResponse"> 
    6781        <xsd:complexType> 
     
    7488    </xsd:schema> 
    7589  </wsdl:types> 
     90  
     91  <message name="addUserInputMsg"> 
     92    <part name="parameters" element="tns:connect"/> 
     93  </message> 
     94 
     95  <message name="addUserOutputMsg"> 
     96    <part name="parameters" element="tns:connectResponse"/> 
     97  </message> 
    7698  
    7799  <message name="connectInputMsg"> 
Note: See TracChangeset for help on using the changeset viewer.