Power Builder - Envio de archivos Web Service

   
Vista:
Imágen de perfil de Antonio

Envio de archivos Web Service

Publicado por Antonio (1114 intervenciones) el 23/03/2011 05:22:46
Hola a todos:

Necesito de su gran apoyo y experiencia...

¿alguien sabe de algun link donde pueda ver un ejemplo práctico de enviar archivos XML y TXT y tambien recibir archivos usando el WEB SERVICE?...

Trabajo con PB 11.5 y no tengo ni la mas remota idea de como iniciarme en esto del WEBSERVICE...


Gracias por su enorme apoyo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Envio de archivos Web Service

Publicado por Jorge Binda (21 intervenciones) el 14/04/2011 19:18:34
pero no funciona con archivos d mas de 4 megas
/**************************************************************************
AUTOR : JORGE BINDA
PROPOSITO : Abre y Guarda el Documento directamente en el Alfresco
ARGUMENTO : HOJA DE TRAMITE, NUMERO DE CORRELATIVO Y AREA
RETORNO : MSG
FECHA : 07/04/2011
---------------------------------------------------------------------------
ID AUTOR FECHA PROPOSITO
---------------------------------------------------------------------------
@1
**************************************************************************/

SoapConnection conn // Define SoapConnection
ws_cmsservice proxy_obj // Declare proxy
long rVal, lLog
string ls_cadena
//contenidoecmbean str_objrpta
rptawsbean str_objrpta
blob lblb_docum

string str_endpoint

////Conexion al web services
////str_endpoint = "http://10.0.0.6:8080/WS_CMS/ws_cms?wsdl"
//str_endpoint = "http://192.168.0.174:8084/WS_CMS/ws_cms?wsdl"
//conn = create SoapConnection //Instanciando la conexion
//
//lLog = conn.SetOptions("SoapLog=~"C:\mySoapLog.log~"")
//
//rVal = Conn.CreateInstance(proxy_obj,"ws_cmsservice",str_endpoint)
//
//// Creando el Objeto Proxy
try

string ls_codigo
String ls_app_path

ls_app_path = GetCurrentDirectory()

//Selecciono el Archivo a abrir
STRING ls_pathname, ls_filename, ls_filtro
LONG ll_File
BLOB lbl_data, lbl_temp

ls_filtro = "PDF Files (*.pdf),*.pdf," + "DOC Files (*.doc),*.doc,"
IF GetFileOpenName ( "Archivo de Documento: ", ls_pathname, ls_filename , "PDF", ls_filtro) = 1 THEN

//Cargamos el archivo si sobre pasa el valor permitido
ll_File = FileOpen(ls_pathname, StreamMode!)
DO WHILE FileRead(ll_file,lbl_temp) > 0
lbl_data += lbl_temp
LOOP
FileClose(ll_file)

IF ll_File <> -1 THEN
FileRead(ll_file, lbl_data)
FileClose(ll_file)

byte lbyte_array[]
String ls_null, ls_uuid, ls_uuid_ant
setnull(ls_null)

//Buscamos el uuid anterior para ver si es nuevo o actualiza
Select x_digital_alfresco Into :ls_uuid_ant From Tflujo Where c_expediente = :c_expediente And n_correlativo = :n_correlativo;

//Convertimos el Archivo BLOB en ARRAY DE BITS para enviarlo al Alfresco
lbyte_array[] = GetByteArray(lbl_data)

//Genera la ruta donde se guarda o actualiza el archivo
//Obtiene la descripcion del area y si hay comas se las quito
String ls_area, ls_mes, ls_ruta
select replace(x_remitente,',',' ') into :ls_area from tremitente where c_remitente = :c_area;

//Obtiene el nombre del mes
ls_mes = string(datetime(today()),'MM')
ls_mes = f_nombre_mes(ls_mes)

ls_ruta = ls_area+'/'+leftA(c_expediente,4)+'/'+ls_mes
//Fin genera ruta
String ls_nomarc
ls_nomarc = trim(c_expediente)+'_'+String(n_correlativo)+'.pdf'
//ls_filename

//Conexion al web services
//str_endpoint = "http://10.0.0.6:8080/WS_CMS/ws_cms?wsdl"
str_endpoint = "http://192.168.0.174:8084/WS_CMS/ws_cms?wsdl"
conn = create SoapConnection //Instanciando la conexion

lLog = conn.SetOptions("SoapLog=~"C:\mySoapLog.log~"")

rVal = Conn.CreateInstance(proxy_obj,"ws_cmsservice",str_endpoint)

// Creando el Objeto Proxy

//Genera nombre del archivo
If isnull (ls_uuid_ant) or ls_uuid_ant = '' Then
//Inserta
str_objrpta = proxy_obj.registrardocumento('MIIDjjCCAvegAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBijELMAkGA1UEBhMCVVMx', ls_nomarc,ls_ruta, lbyte_array)
/*ws_blob ws_blob_doc
ws_blob_doc = lbyte_array
str_objrpta = proxy_obj.registrardocumento3('MIIDjjCCAvegAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBijELMAkGA1UEBhMCVVMx', ls_nomarc, ls_ruta, ws_blob_doc)
*/
Else
//Actualiza
str_objrpta = proxy_obj.actualizarDocumento('MIIDjjCCAvegAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBijELMAkGA1UEBhMCVVMx',ls_uuid_ant, ls_nomarc,ls_ruta, lbyte_array)
End If

//Obtenemos el uuid que arroja el Alfresco cuando graba en su bd
ls_uuid = str_objrpta.uuid

If str_objrpta.codmsg = 'ok' Then
//Graba el uuid en la tabla flujo y el nombre original
Update Tflujo Set x_digital_Alfresco = :ls_uuid, x_nombre_original = :ls_filename Where c_expediente = :c_expediente And n_correlativo = :n_correlativo;

//Borra el Adjunto Digital que tenía antes
Integer li_digital, li_null
SetNull(li_null)
SELECT ID_DIGITAL Into :li_digital FROM Tflujo Where c_expediente = :c_expediente And n_correlativo = :n_correlativo;

Delete from tdoc_digital WHERE ID_DIGITAL = :li_digital;

Update Tflujo Set ID_DIGITAL = :li_null Where c_expediente = :c_expediente And n_correlativo = :n_correlativo;

Commit;

messagebox('Sistema de Trámite Documentario','Archivo cargado corréctamente' )
ElseIf str_objrpta.codmsg = 'nok' Then
messagebox('Sistema de Trámite Documentario',str_objrpta.cadmsg )
End If
End If
End If

// Control de errores del webservices
Catch ( SoapException e )
messagebox("Error", e.GetMessage() )
messagebox ("Error", "No se puede invocar al WebService ~n"+string('ws_cmsservice'))
// Envia el menseje de error de existir
end try
destroy conn

ChangeDirectory(ls_app_path)

GarbageCollect()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Envio de archivos Web Service

Publicado por kevin (1 intervención) el 09/07/2012 18:33:07
Saludos,
tengo un Web Services desarrollado en NetBeans, el asunto es que tengo que recibir un archivo y luego enviarlo por correo pero la cuestión es que no se que libreria o metodo tengo que utilizar para poder recibir el archivo.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Envio de archivos Web Service

Publicado por Luis Becerra luisb_1998@yahoo.com (2 intervenciones) el 04/10/2013 08:41:42
Que tal Jorge :

En mi version de power builder (10.5). no existe la funcion GetByteArray( )

como pudiera implementarla , si solo tengo una funcion GetByte()
espero puedas orientarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Envio de archivos Web Service

Publicado por Miguel (6 intervenciones) el 18/11/2014 16:35:43
Estimado Jorge. espero me puedas ayudar con esta interrogante.. toy consumiendome un servicio web, todo marcha bien
el problema surge cuando el envio un pdf un pokitin mas grande(no mas de 250 kb ) realmente es pekeño , no logro encontrar como ajustar los tamaños envio de mensajes al web service.. ayuda SOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Envio de archivos Web Service

Publicado por jhn (1 intervención) el 13/04/2016 23:15:50
Buenas tardes

Amigo Miguel, como maniobras el envío y recepción de pdf para la web service?

Estamos desarrollando un ws en pb9 y tengo problemas al recepcionar el pdf

agradecería tu apoyo jhnmurga@gmail.com

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar