Web Services, Segunda Parte

09/02/2006 - 19:07 por Isaias | Informe spam
Hola amigos

Abundando en el tema y a peticion de Miguel Egea, aqui esta la explicacion
de la arquitectura.

WINDOWS SERVER 2003
ProductName NULL Microsoft SQL Server
ProductVersion 589824 9.00.1399.06
Language 1033 English (United States)
Platform NULL NT INTEL X86
Comments NULL NT INTEL X86
CompanyName NULL Microsoft Corporation
FileDescription NULL SQL Server Windows NT
FileVersion NULL 2005.090.1399.00
ProcessorType 586 PROCESSOR_INTEL_PENTIUM
PhysicalMemory 512 512 (536354816)


Me han dado un LINK (http://ruta), donde existen varios WEBMETHODs, donde
estos, reciben parametro de entrada:

'16806836|0'

Y Otorgan parametros de salida:

'16806836|0|1'

(hay algunos otros webmethods que trabajan de la misma forma).

Mis dudas, claro esta:

¿Como mandar a ejecutar esos METODOS desde SQL Server 2005?

Cualquier ayuda o comentario sera bienvenido.

Saludos
IIslas

Preguntas similare

Leer las respuestas

#1 Maxi
09/02/2006 - 20:48 | Informe spam
Hola, porque en lugar de hacerlo con SQL no te armas una clase en .NET? de
ultima esa clase la pones luego dentro de SQL


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Isaias" escribió en el mensaje
news:
Hola amigos

Abundando en el tema y a peticion de Miguel Egea, aqui esta la explicacion
de la arquitectura.

WINDOWS SERVER 2003
ProductName NULL Microsoft SQL Server
ProductVersion 589824 9.00.1399.06
Language 1033 English (United States)
Platform NULL NT INTEL X86
Comments NULL NT INTEL X86
CompanyName NULL Microsoft Corporation
FileDescription NULL SQL Server Windows NT
FileVersion NULL 2005.090.1399.00
ProcessorType 586 PROCESSOR_INTEL_PENTIUM
PhysicalMemory 512 512 (536354816)


Me han dado un LINK (http://ruta), donde existen varios WEBMETHODs, donde
estos, reciben parametro de entrada:

'16806836|0'

Y Otorgan parametros de salida:

'16806836|0|1'

(hay algunos otros webmethods que trabajan de la misma forma).

Mis dudas, claro esta:

¿Como mandar a ejecutar esos METODOS desde SQL Server 2005?

Cualquier ayuda o comentario sera bienvenido.

Saludos
IIslas
Respuesta Responder a este mensaje
#2 Guillermo Roldán
09/02/2006 - 21:16 | Informe spam
Así a priori, desde visual studio 2005, yo me crearía un procedimiento
almacenado con .Net que realice una llamada al Web Service que deseas y
procese su resultado como consideres.

Lo más probable, es que ese WebService te devuelva un DataSet, el cual,
puedes procesar y guardar en tu BBDD.

Te anexo un trozo de código como ejemplo de procedimiento almacenado con
VS2005:

<SqlProcedure(Name:="GetLoQueSea")> _
Public Shared Sub GetLoQueSea()
Dim cmd As SqlCommand = SqlContext.GetCommand()
cmd.CommandText = "SELECT * FROM Esquema.Tabla"
Dim rdr As SqlDataReader = cmd.ExecuteReader()
Dim sp As SqlPipe = SqlContext.GetPipe()
sp.Send(rdr)
End Sub

En principio, tu procedimiento será diferente. Es decir, tendrás que llamar
a un WebService, que probablemente te devuelva un DataSet, y luego apoyarte
en SQLContext para almacenar el resultado en la BBDD... Más o menos...

Para llamar a un WebService, al menos con VS2003, puedes agregarte una
referencia Web al procedimiento almacenado (no lo he probado con VS2005).
Esto creo que te crea una clase que llaman Proxy. Esta clase, la puedes
utilizar como otra cualquiera, más o menos, y tiene de especial que cuando
la llamas realmente estás llamando al WebService que agregaste como
referencia. Una vez agregada la referencia Web, el código a escribir para
obtener el DataSet será algo como:

Dim objProxy as new clsProxy()
Dim dsPrueba as DataSet = objProxy.WebMethod()

No sé si habré acertado mucho, ya que no suelo picar mucho código .Net
habitualmente...

En fin, espero que este te pueda ayudar.

Saludos,
Guillermo Roldán





"Isaias" escribió en el mensaje
news:
Hola amigos

Abundando en el tema y a peticion de Miguel Egea, aqui esta la explicacion
de la arquitectura.

WINDOWS SERVER 2003
ProductName NULL Microsoft SQL Server
ProductVersion 589824 9.00.1399.06
Language 1033 English (United States)
Platform NULL NT INTEL X86
Comments NULL NT INTEL X86
CompanyName NULL Microsoft Corporation
FileDescription NULL SQL Server Windows NT
FileVersion NULL 2005.090.1399.00
ProcessorType 586 PROCESSOR_INTEL_PENTIUM
PhysicalMemory 512 512 (536354816)


Me han dado un LINK (http://ruta), donde existen varios WEBMETHODs, donde
estos, reciben parametro de entrada:

'16806836|0'

Y Otorgan parametros de salida:

'16806836|0|1'

(hay algunos otros webmethods que trabajan de la misma forma).

Mis dudas, claro esta:

¿Como mandar a ejecutar esos METODOS desde SQL Server 2005?

Cualquier ayuda o comentario sera bienvenido.

Saludos
IIslas
Respuesta Responder a este mensaje
#3 Maxi
09/02/2006 - 21:26 | Informe spam
Hola, un solo agreado, en sql2005 podrias usar SIS para eso. Nunca lo probe
pero deberia andar :-)


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Guillermo Roldán" escribió en el
mensaje news:
Así a priori, desde visual studio 2005, yo me crearía un procedimiento
almacenado con .Net que realice una llamada al Web Service que deseas y
procese su resultado como consideres.

Lo más probable, es que ese WebService te devuelva un DataSet, el cual,
puedes procesar y guardar en tu BBDD.

Te anexo un trozo de código como ejemplo de procedimiento almacenado con
VS2005:

<SqlProcedure(Name:="GetLoQueSea")> _
Public Shared Sub GetLoQueSea()
Dim cmd As SqlCommand = SqlContext.GetCommand()
cmd.CommandText = "SELECT * FROM Esquema.Tabla"
Dim rdr As SqlDataReader = cmd.ExecuteReader()
Dim sp As SqlPipe = SqlContext.GetPipe()
sp.Send(rdr)
End Sub

En principio, tu procedimiento será diferente. Es decir, tendrás que
llamar a un WebService, que probablemente te devuelva un DataSet, y luego
apoyarte en SQLContext para almacenar el resultado en la BBDD... Más o
menos...

Para llamar a un WebService, al menos con VS2003, puedes agregarte una
referencia Web al procedimiento almacenado (no lo he probado con VS2005).
Esto creo que te crea una clase que llaman Proxy. Esta clase, la puedes
utilizar como otra cualquiera, más o menos, y tiene de especial que cuando
la llamas realmente estás llamando al WebService que agregaste como
referencia. Una vez agregada la referencia Web, el código a escribir para
obtener el DataSet será algo como:

Dim objProxy as new clsProxy()
Dim dsPrueba as DataSet = objProxy.WebMethod()

No sé si habré acertado mucho, ya que no suelo picar mucho código .Net
habitualmente...

En fin, espero que este te pueda ayudar.

Saludos,
Guillermo Roldán





"Isaias" escribió en el mensaje
news:
Hola amigos

Abundando en el tema y a peticion de Miguel Egea, aqui esta la
explicacion
de la arquitectura.

WINDOWS SERVER 2003
ProductName NULL Microsoft SQL Server
ProductVersion 589824 9.00.1399.06
Language 1033 English (United States)
Platform NULL NT INTEL X86
Comments NULL NT INTEL X86
CompanyName NULL Microsoft Corporation
FileDescription NULL SQL Server Windows NT
FileVersion NULL 2005.090.1399.00
ProcessorType 586 PROCESSOR_INTEL_PENTIUM
PhysicalMemory 512 512 (536354816)


Me han dado un LINK (http://ruta), donde existen varios WEBMETHODs, donde
estos, reciben parametro de entrada:

'16806836|0'

Y Otorgan parametros de salida:

'16806836|0|1'

(hay algunos otros webmethods que trabajan de la misma forma).

Mis dudas, claro esta:

¿Como mandar a ejecutar esos METODOS desde SQL Server 2005?

Cualquier ayuda o comentario sera bienvenido.

Saludos
IIslas




Respuesta Responder a este mensaje
#4 Guillermo Roldán
09/02/2006 - 22:08 | Informe spam
Hola Maxi,

No sabía lo de SSIS, pero tiene todo el sentido del mundo...

Saludos,
Guillermo

"Maxi" escribió en el mensaje
news:
Hola, un solo agreado, en sql2005 podrias usar SIS para eso. Nunca lo
probe pero deberia andar :-)


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Guillermo Roldán" escribió en el
mensaje news:
Así a priori, desde visual studio 2005, yo me crearía un procedimiento
almacenado con .Net que realice una llamada al Web Service que deseas y
procese su resultado como consideres.

Lo más probable, es que ese WebService te devuelva un DataSet, el cual,
puedes procesar y guardar en tu BBDD.

Te anexo un trozo de código como ejemplo de procedimiento almacenado con
VS2005:

<SqlProcedure(Name:="GetLoQueSea")> _
Public Shared Sub GetLoQueSea()
Dim cmd As SqlCommand = SqlContext.GetCommand()
cmd.CommandText = "SELECT * FROM Esquema.Tabla"
Dim rdr As SqlDataReader = cmd.ExecuteReader()
Dim sp As SqlPipe = SqlContext.GetPipe()
sp.Send(rdr)
End Sub

En principio, tu procedimiento será diferente. Es decir, tendrás que
llamar a un WebService, que probablemente te devuelva un DataSet, y luego
apoyarte en SQLContext para almacenar el resultado en la BBDD... Más o
menos...

Para llamar a un WebService, al menos con VS2003, puedes agregarte una
referencia Web al procedimiento almacenado (no lo he probado con VS2005).
Esto creo que te crea una clase que llaman Proxy. Esta clase, la puedes
utilizar como otra cualquiera, más o menos, y tiene de especial que
cuando la llamas realmente estás llamando al WebService que agregaste
como referencia. Una vez agregada la referencia Web, el código a escribir
para obtener el DataSet será algo como:

Dim objProxy as new clsProxy()
Dim dsPrueba as DataSet = objProxy.WebMethod()

No sé si habré acertado mucho, ya que no suelo picar mucho código .Net
habitualmente...

En fin, espero que este te pueda ayudar.

Saludos,
Guillermo Roldán





"Isaias" escribió en el mensaje
news:
Hola amigos

Abundando en el tema y a peticion de Miguel Egea, aqui esta la
explicacion
de la arquitectura.

WINDOWS SERVER 2003
ProductName NULL Microsoft SQL Server
ProductVersion 589824 9.00.1399.06
Language 1033 English (United States)
Platform NULL NT INTEL X86
Comments NULL NT INTEL X86
CompanyName NULL Microsoft Corporation
FileDescription NULL SQL Server Windows NT
FileVersion NULL 2005.090.1399.00
ProcessorType 586 PROCESSOR_INTEL_PENTIUM
PhysicalMemory 512 512 (536354816)


Me han dado un LINK (http://ruta), donde existen varios WEBMETHODs,
donde
estos, reciben parametro de entrada:

'16806836|0'

Y Otorgan parametros de salida:

'16806836|0|1'

(hay algunos otros webmethods que trabajan de la misma forma).

Mis dudas, claro esta:

¿Como mandar a ejecutar esos METODOS desde SQL Server 2005?

Cualquier ayuda o comentario sera bienvenido.

Saludos
IIslas








Respuesta Responder a este mensaje
#5 Isaias
09/02/2006 - 23:16 | Informe spam
Tengo el deseo de abundar en el tema:

1.- Un cliente realiza una llamada a un 01800 xxxxxxx
2.- Le contesta una IVR (Interactive Voice Response)
3.- El IVR, le pide un parametro (numero de participacion).
4.- El IVR, se conecta al SQL2005, mediante un SOCKET, ya que la IVR, maneja
UNIX
5.- La base en 2005, ¿?vacio

Deberia conectarse a "algo" (clase en .NET) y esta INVOCAR al
WEBSERVICES, obtener el RECORDSET y enviarlo de regreso a la base en 2005.

Por ultimo, la base, le envia de regreso al IVR, la respuesta del WEBSERVICES.

Este seria el flujo de una transaccion en este proyecto.

Espero que este resumen, les de un panorama de lo que debo resolver

Saludos
IIslas


"Guillermo Roldán" escribió:

Hola Maxi,

No sabía lo de SSIS, pero tiene todo el sentido del mundo...

Saludos,
Guillermo

"Maxi" escribió en el mensaje
news:
> Hola, un solo agreado, en sql2005 podrias usar SIS para eso. Nunca lo
> probe pero deberia andar :-)
>
>
> Salu2
> Maxi [MVP SQL SERVER]
> www.sqlgurus.org
>
>
> "Guillermo Roldán" escribió en el
> mensaje news:
>> Así a priori, desde visual studio 2005, yo me crearía un procedimiento
>> almacenado con .Net que realice una llamada al Web Service que deseas y
>> procese su resultado como consideres.
>>
>> Lo más probable, es que ese WebService te devuelva un DataSet, el cual,
>> puedes procesar y guardar en tu BBDD.
>>
>> Te anexo un trozo de código como ejemplo de procedimiento almacenado con
>> VS2005:
>>
>> <SqlProcedure(Name:="GetLoQueSea")> _
>> Public Shared Sub GetLoQueSea()
>> Dim cmd As SqlCommand = SqlContext.GetCommand()
>> cmd.CommandText = "SELECT * FROM Esquema.Tabla"
>> Dim rdr As SqlDataReader = cmd.ExecuteReader()
>> Dim sp As SqlPipe = SqlContext.GetPipe()
>> sp.Send(rdr)
>> End Sub
>>
>> En principio, tu procedimiento será diferente. Es decir, tendrás que
>> llamar a un WebService, que probablemente te devuelva un DataSet, y luego
>> apoyarte en SQLContext para almacenar el resultado en la BBDD... Más o
>> menos...
>>
>> Para llamar a un WebService, al menos con VS2003, puedes agregarte una
>> referencia Web al procedimiento almacenado (no lo he probado con VS2005).
>> Esto creo que te crea una clase que llaman Proxy. Esta clase, la puedes
>> utilizar como otra cualquiera, más o menos, y tiene de especial que
>> cuando la llamas realmente estás llamando al WebService que agregaste
>> como referencia. Una vez agregada la referencia Web, el código a escribir
>> para obtener el DataSet será algo como:
>>
>> Dim objProxy as new clsProxy()
>> Dim dsPrueba as DataSet = objProxy.WebMethod()
>>
>> No sé si habré acertado mucho, ya que no suelo picar mucho código .Net
>> habitualmente...
>>
>> En fin, espero que este te pueda ayudar.
>>
>> Saludos,
>> Guillermo Roldán
>>
>>
>>
>>
>>
>> "Isaias" escribió en el mensaje
>> news:
>>> Hola amigos
>>>
>>> Abundando en el tema y a peticion de Miguel Egea, aqui esta la
>>> explicacion
>>> de la arquitectura.
>>>
>>> WINDOWS SERVER 2003
>>> ProductName NULL Microsoft SQL Server
>>> ProductVersion 589824 9.00.1399.06
>>> Language 1033 English (United States)
>>> Platform NULL NT INTEL X86
>>> Comments NULL NT INTEL X86
>>> CompanyName NULL Microsoft Corporation
>>> FileDescription NULL SQL Server Windows NT
>>> FileVersion NULL 2005.090.1399.00
>>> ProcessorType 586 PROCESSOR_INTEL_PENTIUM
>>> PhysicalMemory 512 512 (536354816)
>>>
>>>
>>> Me han dado un LINK (http://ruta), donde existen varios WEBMETHODs,
>>> donde
>>> estos, reciben parametro de entrada:
>>>
>>> '16806836|0'
>>>
>>> Y Otorgan parametros de salida:
>>>
>>> '16806836|0|1'
>>>
>>> (hay algunos otros webmethods que trabajan de la misma forma).
>>>
>>> Mis dudas, claro esta:
>>>
>>> ¿Como mandar a ejecutar esos METODOS desde SQL Server 2005?
>>>
>>> Cualquier ayuda o comentario sera bienvenido.
>>>
>>> Saludos
>>> IIslas
>>
>>
>
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida