Visual Basic.NET - Webservice Byte Base64

 
Vista:

Webservice Byte Base64

Publicado por Enrique Veliz (2 intervenciones) el 28/11/2011 22:16:12
Que tal amigos, mi problema es el siguiente tengo un webservice de una empresa el cual me pide cietos paramentros y como resultado me devuelve una respuesta de tipo Byte, alguien sabe como puedo ller un tipo byte desde un web service, ya que cuando lo convierto a string me devuelve error.
mi codigo es el siguiente:

Dim Archivo
Dim Manifiesto As New serviWebAduana.AduanetServicio.oladmanifiestowsPortClient
Archivo = Manifiesto.consultarDocumentoTransporte(cod_aduana, anio_manifiesto, via_trans, num_manifiesto, num_doctra, tipo_manifiesto, cod_tipo_operador, cod_operador, cod_clave_operador).ToString
MsgBox(Archivo)
me devuelve error : El canal de solicitud agotó el tiempo de espera mientras esperaba una respuesta después de 00:00:57.1438673. Aumente el valor de tiempo de espera pasado a la llamada a Request, o bien aumente el valor de SendTimeout en el enlace. El tiempo asignado a esta operación puede haber sido una parte de un tiempo de espera mayor.

si lo pruebo por la misma web de la empresa el resultado es el siguiente:

Request sent to the server
<!--REQUEST.................-->
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:consultarDocumentoTransporte xmlns:m="http://www.bea.com/education/webservices/examples/basic/javaclass">
<cod_aduana xsi:type="xsd:string">118</cod_aduana>
<anio_manifiesto xsi:type="xsd:string">2011</anio_manifiesto>
<via_trans xsi:type="xsd:string">1</via_trans>
<num_manifiesto xsi:type="xsd:string">21281</num_manifiesto>
<num_doctra xsi:type="xsd:string">BL-CNNGB-004126957-6</num_doctra>
<tipo_manifiesto xsi:type="xsd:string">I</tipo_manifiesto>
<cod_tipo_operador xsi:type="xsd:string">T</cod_tipo_operador>
<cod_operador xsi:type="xsd:string">8876</cod_operador>
<cod_clave_operador xsi:type="xsd:string">2211</cod_clave_operador>
</m:consultarDocumentoTransporte>
</env:Body>
</env:Envelope>
Response from the server

<!--RESPONSE.................-->
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:consultarDocumentoTransporteResponse xmlns:m="http://www.bea.com/education/webservices/examples/basic/javaclass">
<consultarDocTransporteResult xsi:type="xsd:base64Binary">UEsDBBQACAAIALSBfD8AAAAAAAAAAAAAAAANAAAARG9jVHJhbnNwLnhtbLOxr8jNUShLLSrOzM+zVTLUM1BSSM1Lzk/JzEu3VfIM9te1sDC11DVUsrfjsgny9w+x4+K0cXZ0cnV2DXKM9w12B/KBAv4u8UGuwQGhrsEhjnZGNvqoAkAt+mh6bFxcQxx9fFxhXH0Uvo0+xCoAUEsHCAyEv3duAAAAngAAAFBLAQIUABQACAAIALSBfD8MhL93bgAAAJ4AAAANAAAAAAAAAAAAAAAAAAAAAABEb2NUcmFuc3AueG1sUEsFBgAAAAABAAEAOwAAAKkAAAAAAA==</consultarDocTransporteResult>
</m:consultarDocumentoTransporteResponse>
</env:Body>
</env:Envelope>


la etiqueta consultarDocTransporteResult es la respuesta elcual tengo que convertir en archivo zip.

alguien me puede ayudar.....
Gracias...
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

Webservice Byte Base64

Publicado por ShodawN (1 intervención) el 28/12/2011 12:23:37
Hola,

Buscando solución a otro problema he llegado aquí, y como veo que la fecha no es demasiado vieja contesto por si te fuera de ayuda.

Cuando quieres recuperar ficheros por webservice debes tener en cuenta que la respuesta del webservice es limitada.
Por tanto al enviar ficheros hay que tener en cuenta si el fichero "cabe" en la especificación de respuesta que hemos creado.

Básicamente cuando creas el webservice le has de especificar un HTTPBinding. Lo puedes crear al vuelo o tenerlo definido en un fichero de configuración... sea como sea debes aumentar los valores por defecto hasta que se ajusten a tus necesidades.

1
2
3
4
5
6
<basicHttpBinding>
    <binding name="myBindingForBigArrays" maxReceivedMessageSize="2147483647">
     <readerQuotas maxDepth="64" maxStringContentLength="2147483647"
      maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
   </binding>
</basicHttpBinding>


Ten en cuenta que las especificaciones del canal han de coincidir en cliente y servidor... así que es posible que te tengas que poner en contacto con tu proveedor para que te facilite los parámetros que hayan definido.

Un saludo,
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