[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

500 Server Error



Hello,

I am getting the 500 internal error. On this web service.
The log from the server that I am trying to consume the service is reporting that it can't convert the  NilClass into String.
It's in RUBY on RAILS class.
This works in SOAPui.

Thanks a bunch.

Here is my program.

d Setup           pr                                         
                                                             
d WebService      pr            10i 0                        
                                                             
D Incoming        PR                                         
d   @ClientID                 9000a                          
D   depth                       10I 0 value                  
D   name                      1024A   varying const          
D   path                     24576A   varying const          
D   value                    65535A   varying const          
D   attrs                         *   dim(32767)             
D                                     const options(*varsize)
                                                             
d GETCLTID        pr                  ExtPgm('GETCLTID')     
d  ClientID                      5A                                     
                                                                        
d GETCLTID        pi                                                    
d  ClientID                      5A                                     
 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 
c*====================================================================  
c* Copybooks                                                            
c*====================================================================  
                                                                        
 /copy config_h                                                         
 /copy httpapi_h                                                        
                                                                        
 *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
c* Stand Alone Fields                                                   
d ErrMsg          s           1024a   varying                           
d Soap            s          32767a   varying                           
d @ClientID       s           9000a                                     
d ReturnCode      s             10i 0                                   
                                                                        
dVariableRecords...                                                     
d                 ds                  Qualified                         
d Number                        10i 0                                   
                                                                        
c*====================================================================  
c* Main                                                                 
c*====================================================================  
 /free                                                                  
                                                                        
     Setup();               
/end-free                                                              
                                                                       
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 
********************************************************************** 
* Main processing - Call the Webservice to update CMA                  
********************************************************************** 
                                                                       
/Free                                                                  
                                                                       
     // Call the web service that will update the client smart file.   
     ReturnCode = WebService();                                        
     If ReturnCode <> 1;                                               
        ErrMsg = http_error();                                         
        ReturnCode = -1;                                               
     Else;                                                             
        ErrMsg = 'HTTP/1.1 200 OK';                                    
     EndIf;                 
      *inLr = *on;                                                     
      Return;                                                          
                                                                       
  /end-free                                                            
c*==================================================================== 
c* Setup();                                                            
c*                                                                     
c* General setup.                                                      
c*==================================================================== 
                                                                       
p Setup           b                                                    
 /free                                                                 
                                                                       
  VariableRecords.Number = 4; // Number of keys.                       
                                                                       
  // Turn HTTP debug on or off                                         
  http_debug(*ON);           
  // Set the correct CCSID.                                           
  http_setCCSIDs(1208:0);                                             
                                                                      
  // Strip off back end CRLFs on the returned XMLs.                   
  http_XmlStripCRLF(*ON);                                             
                                                                      
 /end-free                                                            
p Setup           e                                                   
                                                                      
c*====================================================================
c* WebService(); Call The Web Service.                                
c*====================================================================
                                                                      
p WebService      b                                                   
d WebService      pi            10i 0                                 
 /free                                                                                                                                                                                                 
Soap =                                                                
'<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>'         
+'<soapenv:Envelope'                                                  
+'    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";'          
+'    xmlns:xsd="http://www.w3.org/2001/XMLSchema";'                   
+'    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; '     
+'    xmlns:urn="urn:ActionWebService">'                              
+'      <soapenv:Header/>'                                            
+'      <soapenv:Body>'                                               
+'         <urn:get_client '                                          
+'soapenv:encodingStyle='                                             
+'"http://schemas.xmlsoap.org/soap/encoding/";>'                       
+'  <client_id xsi:type="xsd:int">'+ClientID+'</client_id>'           
+'      </urn:get_client>'                                            
+'   </soapenv:Body>'                                                 
+'</soapenv:Envelope>';                                               

// Consume the web service.                                       
ReturnCode = http_url_post_xml(                                   
  'http://172.16.255.7:5001/client_smart/api'                     
  : %addr(SOAP) + 2                                               
  : %len(SOAP)                                                    
  : *NULL                                                         
  : %paddr(Incoming)                                              
  : %addr(@ClientID)                                              
  : HTTP_TIMEOUT                                                  
  : HTTP_USERAGENT                                                
  : 'text/xml'                                                    
  : 'http://172.16.255.7:5001/client_smart/api/get_client');      
                                                                  
return ReturnCode;                 
/end-free                                                            
p WebService      e                                                   
c*====================================================================
c* Incoming1();                                                       
c* Parse the XML coming in to see what the client ID we received is.  
c*====================================================================
                                                                      
p Incoming        B                                                   
d Incoming        PI                                                  
d   @ClientID                 9000a                                   
d   depth                       10i 0 value                           
d   name                      1024a   varying const                   
d   path                     24576a   varying const                   
d   value                    65535a   varying const                   
d   attrs                         *   dim(32767)                       
d                                     const options(*varsize)     
                                                                  
D atof            PR             8F   extproc('atof')             
D   string                        *   value options(*string)      
 /free                                                            
                                                                  
  if (name = 'get_Client');                                       
    @ClientID = value;                                            
  endif;                                                          
                                                                  
 /end-free                                                        
p Incoming        E                                                                             
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------