Invocar Metodo WebService

08/04/2005 - 00:59 por Ana | Informe spam
Tengo un problema con la invocacion de un metodo de un
servicio web:
1-Agrege una referencia web del servicio web a mi proyecto
2-En mi proyecto agregue lo siguiente e invoco al metodo
pasandole un parametro de tipo system.io.stream:

string url = Server.MapPath("")+"..\\Publico\\xml.xml";
System.IO.StreamReader data = new StreamReader(url);
System.IO.Stream tmp;
tmp = data.BaseStream;
Servicio.Recepcion proxy = new Servicio.Recepcion();
proxy.Recepcion_Pedidos(tmp );<error sale aqui
3-Al compilar me sale un error en la ultima linea y dice
que "no se puede convertir un tipo System.IO.Stream a
Servicio.Stream porque Servicio.Stream es una clase
Abstract" y como es abstracta tampoco puedo crear una
referencia a un objeto.
Mi metodo WebService tiene el metodo Recepcion_Pedidos que
recibe un parametro System.IO.Stream y cuando lo invoco
de otro proyecto el parametro de entrada se vuelve
Servicio.Stream .
ALguien me puede ayudar a entender esto y darme la
solucion a mi problema.
Gracias

.

Preguntas similare

Leer las respuestas

#1 Ronald Ricardo Ramirez Moran
08/04/2005 - 21:35 | Informe spam
Hola Ana!

El error que tu me comentas, te ocurre por que hay un conflicto con las
clases:
SoapMessage.Stream, el SoapMessage es el que se utiliza para enviar y
recibir informacion en forma de Stream, pero tambien existe otro objeto
llamado: System.IO.Stream, que es con el que se esta teniendo el conflicto,
ya que utilizas el Stream que envias de tu objeto pero en verdad lo que se
utiliza es el Stream del Mensaje SOAP, que como se te dice es un objeto
ABSTRACT, bueno basicamente los 2 objetos son mensajes Abstractos y no se
pueden transformar.

Saludos!

Ronald R. Ramirez Moran
Analista Programador
Agricola e Industrial ECUAPLANTATION S.A.

Weblog: http://DlanorOk.blogspot.com

Voluntario de Ineta Latam { http://www.ineta.org/latam }
Coordinador de FoxEcuador { http://groups.msn.com/FoxEcuador }
______________________________________________________
Favor de responder en los foros publicos asi todos se benefician.
Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no.
______________________________________________________


"Ana" escribió:

Tengo un problema con la invocacion de un metodo de un
servicio web:
1-Agrege una referencia web del servicio web a mi proyecto
2-En mi proyecto agregue lo siguiente e invoco al metodo
pasandole un parametro de tipo system.io.stream:

string url = Server.MapPath("")+"..\\Publico\\xml.xml";
System.IO.StreamReader data = new StreamReader(url);
System.IO.Stream tmp;
tmp = data.BaseStream;
Servicio.Recepcion proxy = new Servicio.Recepcion();
proxy.Recepcion_Pedidos(tmp );<error sale aqui
3-Al compilar me sale un error en la ultima linea y dice
que "no se puede convertir un tipo System.IO.Stream a
Servicio.Stream porque Servicio.Stream es una clase
Abstract" y como es abstracta tampoco puedo crear una
referencia a un objeto.
Mi metodo WebService tiene el metodo Recepcion_Pedidos que
recibe un parametro System.IO.Stream y cuando lo invoco
de otro proyecto el parametro de entrada se vuelve
Servicio.Stream .
ALguien me puede ayudar a entender esto y darme la
solucion a mi problema.
Gracias

..



Respuesta Responder a este mensaje
#2 Ana
09/04/2005 - 04:06 | Informe spam
Hola! quiero hacerte una pregunta.

He visto un web service que tiene una linea de este tipo:
Dim Stream As New StreamReader(Request.InputStream)
y me dijeron que era un web services que escuchaba y lo
escuchado lo procesaba. Me puedes ayudar a entender. No me
explico como envian los datos?. Request.InputStream es
solo un tipo System.IO.Stream.
Ademas esta linea esta en un formulario(WebForm) y justo
en el Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs).
Luego ese stream es convertido a xml y procesado.


Hola Ana!

El error que tu me comentas, te ocurre por que hay un


conflicto con las
clases:
SoapMessage.Stream, el SoapMessage es el que se utiliza


para enviar y
recibir informacion en forma de Stream, pero tambien


existe otro objeto
llamado: System.IO.Stream, que es con el que se esta


teniendo el conflicto,
ya que utilizas el Stream que envias de tu objeto pero en


verdad lo que se
utiliza es el Stream del Mensaje SOAP, que como se te


dice es un objeto
ABSTRACT, bueno basicamente los 2 objetos son mensajes


Abstractos y no se
pueden transformar.

Saludos!

Ronald R. Ramirez Moran
Analista Programador
Agricola e Industrial ECUAPLANTATION S.A.

Weblog: http://DlanorOk.blogspot.com

Voluntario de Ineta Latam { http://www.ineta.org/latam }
Coordinador de FoxEcuador {


http://groups.msn.com/FoxEcuador }
______________________________________________________
Favor de responder en los foros publicos asi todos se


benefician.
Si usas la Web para leer estos Grupos de Noticias, vota


si las
aportaciones te ayudaron o no.
______________________________________________________


"Ana" escribió:

Tengo un problema con la invocacion de un metodo de un
servicio web:
1-Agrege una referencia web del servicio web a mi




proyecto
2-En mi proyecto agregue lo siguiente e invoco al




metodo
pasandole un parametro de tipo system.io.stream:

string url = Server.MapPath("")




+"..\\Publico\\xml.xml";
System.IO.StreamReader data = new StreamReader(url);
System.IO.Stream tmp;
tmp = data.BaseStream;
Servicio.Recepcion proxy = new Servicio.Recepcion();
proxy.Recepcion_Pedidos(tmp );<error sale aqui
3-Al compilar me sale un error en la ultima linea y




dice
que "no se puede convertir un tipo System.IO.Stream a
Servicio.Stream porque Servicio.Stream es una clase
Abstract" y como es abstracta tampoco puedo crear una
referencia a un objeto.
Mi metodo WebService tiene el metodo Recepcion_Pedidos




que
recibe un parametro System.IO.Stream y cuando lo




invoco
de otro proyecto el parametro de entrada se vuelve
Servicio.Stream .
ALguien me puede ayudar a entender esto y darme la
solucion a mi problema.
Gracias

..





.

Respuesta Responder a este mensaje
#3 Ronald Ricardo Ramirez Moran
07/05/2005 - 03:12 | Informe spam
Hola Ana, leyendo tu pregunta no entiendo, porque deseas enviar un Stream que
puedes enviar como texto que despues puedes convertir en XML, mi
recomendacion seria que envies y recibas el XML como String pues te dara lo
mismo, solo que sera mas tratable. Ademas recuerda que tambien lo puedes
hacer con el XMLDocument que es mas facil todavia,

Ademas que es demasiado problematico el tratamiento de Streams que en mi
caso no utilizo, eso se debe a que manejo politicas de envio y recepcion de
datos que en tu caso te servirian mucho.

Te ruego que pruebes y cualquier cosa me avisas.

Saludos!

Ronald R. Ramirez Moran
Analista Programador

Weblog: http://DlanorOk.blogspot.com

Voluntario de Ineta Latam { http://www.ineta.org/latam }
Coordinador de FoxEcuador { http://groups.msn.com/FoxEcuador }
______________________________________________________
Favor de responder en los foros publicos asi todos se benefician.
Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no.
______________________________________________________



"Ana" wrote:

Hola! quiero hacerte una pregunta.

He visto un web service que tiene una linea de este tipo:
Dim Stream As New StreamReader(Request.InputStream)
y me dijeron que era un web services que escuchaba y lo
escuchado lo procesaba. Me puedes ayudar a entender. No me
explico como envian los datos?. Request.InputStream es
solo un tipo System.IO.Stream.
Ademas esta linea esta en un formulario(WebForm) y justo
en el Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs).
Luego ese stream es convertido a xml y procesado.


>Hola Ana!
>
>El error que tu me comentas, te ocurre por que hay un
conflicto con las
>clases:
>SoapMessage.Stream, el SoapMessage es el que se utiliza
para enviar y
>recibir informacion en forma de Stream, pero tambien
existe otro objeto
>llamado: System.IO.Stream, que es con el que se esta
teniendo el conflicto,
>ya que utilizas el Stream que envias de tu objeto pero en
verdad lo que se
>utiliza es el Stream del Mensaje SOAP, que como se te
dice es un objeto
>ABSTRACT, bueno basicamente los 2 objetos son mensajes
Abstractos y no se
>pueden transformar.
>
>Saludos!
>
>Ronald R. Ramirez Moran
>Analista Programador
>Agricola e Industrial ECUAPLANTATION S.A.
>
>Weblog: http://DlanorOk.blogspot.com
>
>Voluntario de Ineta Latam { http://www.ineta.org/latam }
>Coordinador de FoxEcuador {
http://groups.msn.com/FoxEcuador }
>______________________________________________________
>Favor de responder en los foros publicos asi todos se
benefician.
>Si usas la Web para leer estos Grupos de Noticias, vota
si las
>aportaciones te ayudaron o no.
>______________________________________________________
>
>
>"Ana" escribió:
>
>> Tengo un problema con la invocacion de un metodo de un
>> servicio web:
>> 1-Agrege una referencia web del servicio web a mi
proyecto
>> 2-En mi proyecto agregue lo siguiente e invoco al
metodo
>> pasandole un parametro de tipo system.io.stream:
>>
>> string url = Server.MapPath("")
+"..\\Publico\\xml.xml";
>> System.IO.StreamReader data = new StreamReader(url);
>> System.IO.Stream tmp;
>> tmp = data.BaseStream;
>> Servicio.Recepcion proxy = new Servicio.Recepcion();
>> proxy.Recepcion_Pedidos(tmp );<error sale aqui
>> 3-Al compilar me sale un error en la ultima linea y
dice
>> que "no se puede convertir un tipo System.IO.Stream a
>> Servicio.Stream porque Servicio.Stream es una clase
>> Abstract" y como es abstracta tampoco puedo crear una
>> referencia a un objeto.
>> Mi metodo WebService tiene el metodo Recepcion_Pedidos
que
>> recibe un parametro System.IO.Stream y cuando lo
invoco
>> de otro proyecto el parametro de entrada se vuelve
>> Servicio.Stream .
>> ALguien me puede ayudar a entender esto y darme la
>> solucion a mi problema.
>> Gracias
>>
>> ..
>>
>>
>>
>.
>

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida