Foros del Web » Administración de Sistemas » Software para Servers »

Error 406 al llamar a un Web Service

Estas en el tema de Error 406 al llamar a un Web Service en el foro de Software para Servers en Foros del Web. Buenos dias, soy nuevo en el foro y suelo consultarlo bastante. Mi problema es que estoy empezando a programar web service en vb.net. Mi objetivo ...
  #1 (permalink)  
Antiguo 12/01/2012, 02:34
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Error 406 al llamar a un Web Service

Buenos dias, soy nuevo en el foro y suelo consultarlo bastante.

Mi problema es que estoy empezando a programar web service en vb.net.

Mi objetivo es realizar la llamada al web service y enviarle una cadena string, pero me devuelve el error 406 no aceptable.

No se si es por la cadena que le paso en el paramHeader o por la llamada o por el contentLenght....estoy un poco perdido y necesito ayuda.

os dejo la funcion que utilizo...:


Public Function EnviarACK(ByVal cadenaACK As String, ByVal urlACK As String, ByVal USERNAME As String, _
ByVal PSSWD As String, _
Optional ByVal Domain As String = "") As HttpWebResponse

'************************************************* ***************
'Generar datos del POST en el stream tmpStream
'************************************************* ***************
'Generar límite
Dim limite As String = "----------" & DateTime.Now.Ticks.ToString("x")

'Generar contenido del post
Dim paramHeader As String
Dim paramHeaderBytes As Byte()
Dim tmpStream As Stream = New MemoryStream()
Dim buffer As Byte() = {}
Dim bytesRead As Integer = 0

'Escribir la cabecera del parametro en el tmpStream
paramHeader = cadenaACK.ToString()
paramHeaderBytes = Encoding.UTF8.GetBytes(paramHeader)
tmpStream.Write(paramHeaderBytes, 0, paramHeaderBytes.Length)

'Crear el string de límite final como matriz de bytes
Dim limiteBytes As Byte() = Encoding.UTF8.GetBytes(vbNewLine & "--" + limite + vbNewLine)

'Escriba el límite final
tmpStream.Write(limiteBytes, 0, limiteBytes.Length)

'************************************************* *******************
'Enviar el request
'************************************************* *******************
'Cuando utiliza protocolo HTTPS necesita una función de validación de certificado
ServicePointManager.ServerCertificateValidationCal lback = New RemoteCertificateValidationCallback(AddressOf ValidarCertificado)

'Crear el objeto HttpWebRequest con la url de la pagina destino
Dim HttpWRequest As HttpWebRequest = HttpWebRequest.Create(urlACK)
'Si se le pasaron credenciales las asigna, sino utilizar las credenciales actuales
If (USERNAME <> "") Then
Dim creds As New Net.NetworkCredential(USERNAME, PSSWD, Domain)
HttpWRequest.Credentials = creds
Else
HttpWRequest.Credentials = CredentialCache.DefaultCredentials
End If

'Habilitar el buffer, no se envían los datos hasta la sentencia GetResponse()
HttpWRequest.AllowWriteStreamBuffering = True

HttpWRequest.Method = "POST"


'Asignar el contentType con el limite
HttpWRequest.ContentType = "application/x-www-form-urlencoded" & limite
tmpStream.Seek(0, SeekOrigin.Begin)

'Convertir
Dim data As String
Data = ReadAll(tmpStream)

'asignar el largo del stream
HttpWRequest.ContentLength = tmpStream.Length
Dim stream As Stream = HttpWRequest.GetRequestStream()

ReDim buffer(tmpStream.Length - 1)
bytesRead = tmpStream.Read(buffer, 0, buffer.Length)
While bytesRead <> 0
stream.Write(buffer, 0, bytesRead)
bytesRead = tmpStream.Read(buffer, 0, buffer.Length)
End While

Dim Response As HttpWebResponse = Nothing
Try
Response = HttpWRequest.GetResponse()
Catch ex As Exception
Debug.Print(ex.Message)
End Try
Return Response
End Function



PD: Tengo otra duda....al generar la cadena que quiero enviar, va incluida en ella la descripcion SOAP. ¿Es eso correcto o el propio web Service genera el SOAP?

Muchas gracias por su ayuda

Última edición por serpino; 12/01/2012 a las 03:49
  #2 (permalink)  
Antiguo 12/01/2012, 04:30
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Error 406 al llamar a un Web Service

¿Alguna ayuda?
  #3 (permalink)  
Antiguo 13/01/2012, 03:19
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Error 406 al llamar a un Web Service

Por favor, ¿alguna ayuda?
  #4 (permalink)  
Antiguo 16/01/2012, 02:30
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Error 406 al llamar a un Web Service

Por favor necesito ayuda

Etiquetas: red, server, service
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:19.