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

Re: Help consume Web Service



Alvaro,

Please add a breakpoint at line 5278 (multiRefImplStart()) of WSDL2RPGRT, module WSDL2R94. When the 
program stops at the breakpoint look at g_multiRef. I strongly assume that it is *NULL. If that is 
true, add a breakpoint at line 5161 (BasicMap_get()) and restart the program. When it stops at line 
look at 'hRef' and write down its value. Now add a breakpoint at line 5126 and restart the program. 
When the program stops at line 5126 look at 'hRef' and write down its value.

Send both values of 'hRef' to me (line 5161 and 5126). Please also check the content of 
multiRef.cbStart and multiRef.cbEnd at line 5126. Let me know if these values are *NULL or not. Of 
course these values MUST not be *NULL!

Values required:

    line 5126:   hRef, multiref.cbStart and multiRef.cbEnd

    line 5161:   hRef

Background information:

When the parser encounters a reference to a multiRef element, its ID (without the #) and the current 
program state is put into a map. That is what BasicMap_put() does at line 5126. The corresponding XML 
line is:

    <consultarAfiliadoReturn href="#id0"/>

Then, when the parser encounters a multiRef element, it takes the value of the "id" attribute and 
retrieves the program state that is associated to that ID from the map. That is what BasicMap_get() 
does at line 5161. The corresponding XML line is:

   <multiRef id="id0" soapenc:root="0" ...>

I wonder what key is written to the map and what key is used to retrieve the data from the map.

Sorry for the inconveniences. My test "multiRef" web service runs fine as well as your web service 
stub that I modified as described in a former e-mail. I wonder what silly error we will find at the 
end of the day.

Thomas.

Alvaro Orlando Salazar Martinez schrieb:
> Thomas, 
> 	
> send the Screen Shot first with F1:
> 
>                         Información Adicional de Mensaje                        
>                                                                                 
>  ID de mensaje  . . . . :   MCH3601       Gravedad . . . . . . . :   40         
>  Tipo de mensaje  . . . :   Escape                                              
>  Fecha envío  . . . . . :   21/06/09      Hora envío . . . . . . :   13:55:35   
>                                                                                 
>  Mensaje . . . . :   El puntero no hace referencia a ninguna ubicación.         
>  Causa . . . . . :   Se ha utilizado un puntero, como puntero directo o de      
>    base, que no tiene asignada una dirección.                                   
>                                                                                 
>                                                                           Final 
>  Pulse Intro para continuar.                                                    
>                                                                                 
>  F3=Salir   F6=Imprimir   F9=Visualizar detalles de mensajes   F12=Cancelar     
>  F21=Seleccionar nivel ayuda                                                    
>                                                                                 
> 
> with F9:
> 
> 
>                          Visualizar Detalles de Mensaje                         
>                                                                                 
>  ID de mensaje  . . . . :   MCH3601       Gravedad . . . . . . . :   40         
>  Fecha de envío . . . . :   21/06/09      Hora de envío  . . . . :   13:55:35   
>  Tipo de mensaje  . . . :   Escape                                              
>  Desde  . . . . . . . . :   DNXOUT01      CCSID  . . . . . . . . :   65535      
>                                                                                 
>  Programa origen  . . . . . . . :   WSDL2RPGRT                                  
>    Biblioteca origen  . . . . . :     WSDL2RPG                                  
>    Módulo origen  . . . . . . . :     WSDL2R94                                  
>    Procedimiento origen . . . . :     WSDL2R94_MultiRef_startCallback           
>    Sentencia origen . . . . . . :     5278                                      
>                                                                                 
>  Programa destino . . . . . . . :   WSDL2RPGRT                                  
>    Biblioteca destino . . . . . :     WSDL2RPG                                  
>    Módulo destino . . . . . . . :     WSDL2R94                                  
>    Procedimiento destino  . . . :     WSDL2R94_MultiRef_startCallback           
>    Sentencia destino  . . . . . :     5278                                      
>                                                                                 
>                                                                          Más... 
>  Pulse Intro para continuar.                                                    
>                                                                                 
>  F1=Ayuda   F3=Salir   F12=Cancelar                                             
>                                                                                 
> And then other msg equal and with F9:
> 
>                          Visualizar Detalles de Mensaje                         
>                                                                                 
>  ID de mensaje  . . . . :   MCH3601       Gravedad . . . . . . . :   40         
>  Fecha de envío . . . . :   21/06/09      Hora de envío  . . . . :   13:55:35   
>  Tipo de mensaje  . . . :   Diagnóstico                                         
>  Desde  . . . . . . . . :   DNXOUT01      CCSID  . . . . . . . . :   65535      
>                                                                                 
>  Programa origen  . . . . . . . :   QTENPTS                                     
>    Biblioteca origen  . . . . . :     QSYS                                      
>    Módulo origen  . . . . . . . :     TESCREN                                   
>    Procedimiento origen . . . . :     CheckArgs                                 
>    Sentencia origen . . . . . . :     57                                        
>                                                                                 
>  Programa destino . . . . . . . :   QTESTOPH                                    
>    Biblioteca destino . . . . . :     QSYS                                      
>    Módulo destino . . . . . . . :     QTESTOPH                                  
>    Procedimiento destino  . . . :     main                                      
>    Sentencia destino  . . . . . :     200                                       
>                                                                                 
>                                                                          Más... 
>  Pulse Intro para continuar.                                                    
>                                                                                 
>  F1=Ayuda   F3=Salir   F12=Cancelar                                             
>                                                                                 
> 
> 
> Saludos, 
>  
> Alvaro Orlando Salazar Martínez  
> Ingeniero Sistemas de Información
> Unidad de Tecnología Informática COOMEVA
> Certificados ISO 9001 - Valorados CMMI Nivel 3
> www.coomeva.com.co 
> Teléfono: (57) 2- 333 0000 Ext. 1293
> Dirección: Calle 13 No. 57 - 50 
> Cali - Valle 
> Colombia 
> 
> Unidad de Tecnología Informática Coomeva
> **************************************************
> Comprometidos con el mejoramiento de la productividad, con soluciones informáticas fiables, prácticas e innovadoras.
> 
> Favor piense en el medioambiente, antes de imprimir este mensaje
> 
> -----Mensaje original-----
> De: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] En nombre de Thomas Raddatz
> Enviado el: 2009-06-21 13:21
> Para: HTTPAPI and FTPAPI Projects
> Asunto: [!! SPAM] Re: Help consume Web Service
> 
> Alvaro,
> 
> It seems as if we are getting closer to the problem. So far I figured out that "El puntero no hace 
> referencia a ninguna ubicació" translates to "Pointer not set for location referenced".
> 
> Then I took your web service stub module (WSMP1_7NP) and replaced http_post_xml() with 
> http_parse_xml_stmf() and fed the content of the attached XML file to it. Guess what, it ran just 
> fine. That means that the response data of wsmp1_7npt.txt basically is fine.
> 
> The question is why you receive a "Pointer not set ..." error while I do not get it.
> 
> What version of WSDL2RPG are you using? Please do a DSPPGM PGM(WSDL2RPG) DETAIL(*COPYRIGHT) and let me 
> know the version (hopefully 1.7) and the date (hopefully 16.06.2009). If you are not using v1.7, 
> 16.06.2009, please download that version and generate the stub module again. Then repeat your test.
> 
> If you are using v1.7, 16.09.2009, then modify the stub module as described below in order to figure 
> out where the error message comes from:
> 
> a) Remove the "monitor;" statement.
> b) Delete everything from "on-error;" until "endmon;" including these two statements.
> 
> Now recompile the stub module and run the test again. When the "Pointer not set ..." error occurs, 
> prompt the message with F1, then press F9 and make a screen shot of that screen. Please send the 
> screen shot to me.
> 
> Thomas.
> 
> Alvaro Orlando Salazar Martinez schrieb:
>> Thomas,
>>
>> In the First "If" Enter to Cycle but the second "If" is not executed(if (MultiRef_isReference(attrs))).
>>
>> if (depth = 1 and
>>          name = 'consultarAfiliadoReturn');
>>
>>               if (MultiRef_isReference(attrs));
>>                  MultiRef_put(
>>                     attrs
>>                     : http_parser_get_userdata()
>>                     : depth
>>                     : namespace
>>                     : name
>>                     : path
>>                     : http_parser_get_start_cb()
>>                     : http_parser_get_end_cb());
>>                  return;
>>               endif;
>>            endif;
>>
>>
>> the SOAPMessage_Envelope()is executed in :
>>                                                         
>> 	 when (name = 'multiRef' and MultiRef_isData(attrs));   
>>     	    http_parser_switch_cb(                              
>>       	 *NULL                                            
>>       	 : MultiRef_getStartCallback()                    
>>        	 : MultiRef_getEndCallback());                    
>>     return;                                             
>>                                                         
>> Saludos, 
>>  
>> Alvaro Orlando Salazar Martínez  
>> Ingeniero Sistemas de Información
>> Unidad de Tecnología Informática COOMEVA
>> Certificados ISO 9001 - Valorados CMMI Nivel 3
>> www.coomeva.com.co 
>> Teléfono: (57) 2- 333 0000 Ext. 1293
>> Dirección: Calle 13 No. 57 - 50 
>> Cali - Valle 
>> Colombia 
>>
>> Unidad de Tecnología Informática Coomeva
>> **************************************************
>> Comprometidos con el mejoramiento de la productividad, con soluciones informáticas fiables, prácticas e innovadoras.
>>
>> Favor piense en el medioambiente, antes de imprimir este mensaje
>>
>> -----Mensaje original-----
>> De: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] En nombre de Thomas Raddatz
>> Enviado el: 2009-06-21 11:02
>> Para: HTTPAPI and FTPAPI Projects
>> Asunto: Re: Help consume Web Service
>>
>> Alvaro,
>>
>> I assume that you looked at the wrong place. The code snippet of your last reply seems to be part of 
>> the impl_consultarAfiliadoRpcStart() procedure.
>>
>> But my questions corresponded to parts of impl_consultarAfiliadoReturnStart() and SOAPMessage_Envelope().
>>
>> Thomas.
>>
>>
>> Alvaro Orlando Salazar Martinez schrieb:
>>> Hi Thomas, 
>>>
>>> when debugging, the Program happens only when "depth = 2" and name = "ConsultarAfiliadoReturn" like this:
>>>
>>> when (depth = 2                                                 
>>>        and                                                      
>>>        name = 'consultarAfiliadoReturn'                         
>>>        and                                                      
>>>        namespace = '');                                         
>>>    http_parser_switch_cb(                                       
>>>       %addr(impl_consultarAfiliadoRpc.consultarAfiliadoReturn)  
>>>       : %paddr('impl_consultarAfiliadoReturnStart')             
>>>        : %paddr('impl_consultarAfiliadoReturnEnd'));   
>>>     return;                                            
>>>                                                        
>>>  endsl;                                                
>>>
>>> Saludos, 
>>>  
>>> Alvaro Orlando Salazar Martínez  
>>> Ingeniero Sistemas de Información
>>> Unidad de Tecnología Informática COOMEVA
>>> Certificados ISO 9001 - Valorados CMMI Nivel 3
>>> www.coomeva.com.co 
>>> Teléfono: (57) 2- 333 0000 Ext. 1293
>>> Dirección: Calle 13 No. 57 - 50 
>>> Cali - Valle 
>>> Colombia 
>>>
>>> Unidad de Tecnología Informática Coomeva
>>> **************************************************
>>> Comprometidos con el mejoramiento de la productividad, con soluciones informáticas fiables, prácticas e innovadoras.
>>>
>>> Favor piense en el medioambiente, antes de imprimir este mensaje
>>>
>>>
>>>
>>> -----Mensaje original-----
>>> De: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] En nombre de Thomas Raddatz
>>> Enviado el: 2009-06-21 09:47
>>> Para: HTTPAPI and FTPAPI Projects
>>> Asunto: Re: Help consume Web Service
>>>
>>> Alvaro,
>>>
>>> I cannot see why you should not get back the web service data. The questions I have are:
>>>
>>> What happens in impl_consultarAfiliadoReturnStart()? Is MultiRef_put() executed when 'name' equals 
>>> 'consultarAfiliadoReturn'?
>>>
>>>           if (depth = 1 and
>>>                name = 'consultarAfiliadoReturn'
>>>                );
>>>              if (MultiRef_isReference(attrs));
>>>                 MultiRef_put(
>>>                    attrs
>>>                    : http_parser_get_userdata()
>>>                    : depth
>>>                    : namespace
>>>                    : name
>>>                    : path
>>>                    : http_parser_get_start_cb()
>>>                    : http_parser_get_end_cb());
>>>                 return;
>>>              endif;
>>>           endif;
>>>
>>> What happens in SOAPMessage_Envelope()? Is the http_parser_switch_cb(...) statement executed?
>>>
>>>           when (name = 'multiRef' and MultiRef_isData(attrs));
>>>              http_parser_switch_cb(
>>>                 *NULL
>>>                 : MultiRef_getStartCallback()
>>>                 : MultiRef_getEndCallback());
>>>              return;
>>>
>>> Is it possible to send the WSDL file to me? I would like to try to set up a mock Web Service with 
>>> soapUI in order to debug the problem.
>>>
>>> Thomas.
>>>
>>> Alvaro Orlando Salazar Martinez schrieb:
>>>> Thanks Thomas, realize all the steps required and to make the Debug is not satisfactory the call to Web Service and returns the following error:
>>>>
>>>> "-1: El puntero no hace referencia a ninguna ubicació"  
>>>>
>>>> returns data, but not because this error comes out.
>>>>
>>>> copy the result of the Log. Thank you
>>>>
>>>> Saludos, 
>>>>  
>>>> Alvaro Orlando Salazar Martínez  
>>>> Ingeniero Sistemas de Información
>>>> Unidad de Tecnología Informática COOMEVA
>>>> Certificados ISO 9001 - Valorados CMMI Nivel 3
>>>> www.coomeva.com.co 
>>>> Teléfono: (57) 2- 333 0000 Ext. 1293
>>>> Dirección: Calle 13 No. 57 - 50 
>>>> Cali - Valle 
>>>> Colombia 
>>>>
>>>> Unidad de Tecnología Informática Coomeva
>>>> **************************************************
>>>> Comprometidos con el mejoramiento de la productividad, con soluciones informáticas fiables, prácticas e innovadoras.
>>>>
>>>> Favor piense en el medioambiente, antes de imprimir este mensaje
> 
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
> 
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------