VB6 ENVIAR XML
Pessoal Estou com erro ao tentar enviar XML.
Erro 400...
Meu Codigo...
Set XmlHttp = CreateObject([Ô]Msxml2.ServerXMLHTTP.6.0[Ô])
XmlHttp.Open [Ô]POST[Ô], [Ô]http://www.empresa.com.br/empresa/empresa.asp[Ô]
XmlHttp.setRequestHeader [Ô]Content-Length[Ô], Len(NomeArquivo)
XmlHttp.setRequestHeader [Ô]Content-Type[Ô], [Ô]text/xml; charset=utf-8[Ô]
XmlHttp.send NomeArquivo
If XmlHttp.Status >= 400 And XmlHttp.Status <= 599 Then
MsgBox [Ô]Error Occurred : [Ô] & XmlHttp.Status & [Ô] - [Ô] & XmlHttp.StatusText
Else
MsgBox XmlHttp.responseText
End If
Dim obj As MSXML2.ServerXMLHTTP
Set obj = New MSXML2.ServerXMLHTTP
obj.Open [Ô]GET[Ô], [Ô]http://localhost/testerr.htm[Ô]
obj.send
If obj.Status >= 400 And obj.Status <= 599 Then
Debug.Print [Ô]Error Occurred : [Ô] & obj.Status & [Ô] - [Ô] & obj.StatusText
Else
Debug.Print obj.responseText
End If
Nao existe usuario e senha no webservice...
Porem nao sei aonde possa estar o possivel erro.
XmlHttp.Status sempre esta com 400.
Nao conheço muito bem XML... agradeço a atenção.
Erro 400...
Meu Codigo...
Set XmlHttp = CreateObject([Ô]Msxml2.ServerXMLHTTP.6.0[Ô])
XmlHttp.Open [Ô]POST[Ô], [Ô]http://www.empresa.com.br/empresa/empresa.asp[Ô]
XmlHttp.setRequestHeader [Ô]Content-Length[Ô], Len(NomeArquivo)
XmlHttp.setRequestHeader [Ô]Content-Type[Ô], [Ô]text/xml; charset=utf-8[Ô]
XmlHttp.send NomeArquivo
If XmlHttp.Status >= 400 And XmlHttp.Status <= 599 Then
MsgBox [Ô]Error Occurred : [Ô] & XmlHttp.Status & [Ô] - [Ô] & XmlHttp.StatusText
Else
MsgBox XmlHttp.responseText
End If
Dim obj As MSXML2.ServerXMLHTTP
Set obj = New MSXML2.ServerXMLHTTP
obj.Open [Ô]GET[Ô], [Ô]http://localhost/testerr.htm[Ô]
obj.send
If obj.Status >= 400 And obj.Status <= 599 Then
Debug.Print [Ô]Error Occurred : [Ô] & obj.Status & [Ô] - [Ô] & obj.StatusText
Else
Debug.Print obj.responseText
End If
Nao existe usuario e senha no webservice...
Porem nao sei aonde possa estar o possivel erro.
XmlHttp.Status sempre esta com 400.
Nao conheço muito bem XML... agradeço a atenção.
[ô]pelo que percebi queres adicionar um usuario e senha á base de dados, certo? Se assim for...
(*) No ficheiro ASP
espero ter ajudado...
[ô]envia o pedido para o servidor
Dim servidor As XMLHTTP60: Set servidor = New XMLHTTP60
servidor.Open [Ô]GET[Ô], http://www.empresa.com.br/empresa/empresa.asp?Utilizador=[Ô] & Text_Utilizador.Text & [Ô]&Senha=[Ô] & Text_Senha.Text, False
servidor.send
[ô]verificar o que o servidor retorna
If servidor.responseText = [Ô]Existe[Ô] Then [ô]O servidor verificou no asp que o utilizador já existe (*)
MsgBox ([Ô]Esta conta já existe![Ô])
Exit Sub
ElseIf Not InStr(servidor.responseText, [Ô]HTTP Error[Ô]) > 0 Then
If servidor.readyState = 4 And servidor.Status = 200 And servidor.responseText = [Ô]sucesso[Ô] Then [ô] 4 - deu resposta e 200 validou. Adiciona os dados
MsgBox ([Ô]Utilizador criado com sucesso.[Ô])
End If
End If
(*) No ficheiro ASP
<html>
<script language=[Ô]vbscript[Ô] runat=[Ô]server[Ô]>
Response.Expires = 0
[ô]?utilizador=<>&senha=<>
dim Recebe_Utilizador, Recebe_Senha
[ô]obter os dados do request
Recebe_Utilizador = request.queryString([Ô]Utilizador[Ô])
Recebe_Senha = request.queryString([Ô]Senha[Ô])
dim conn, query, rs, file
[ô]permitir que apenas um utilizador faça o acesso à base de dados (entr o lock e unlock)
application.lock()
response.clear [ô]limpa os dados da resposta. assim ha garantia que apenas está lá o que pusemos
dim fso : set fso = Server.CreateObject([Ô]Scripting.FileSystemObject[Ô])
file = Server.MapPath([Ô]Empresa.mdb[Ô])
if not fso.FileExists(file) then
response.write([Ô]error: db not found[Ô])
response.End()
end if
set conn = Server.CreateObject([Ô]ADODB.Connection[Ô])
conn.Provider=[Ô]Microsoft.Jet.OLEDB.4.0[Ô]
conn.open = file
set rs = Server.CreateObject([Ô]ADODB.RecordSet[Ô])
total = 0
[ô]verifica se o usuario já existe
query=[Ô]Select Utilizador from Tabela_Contas where Utilizador=[ô][Ô] & Recebe_Utilizador & [Ô][ô][Ô]
rs.open query, conn, 3, 3
if rs.recordcount > 0 then
response.write([Ô]Existe[Ô])
response.end()
end if
rs.close
rs = empty
[ô]Caso não exista adiciona á base de dados e retorna mensagem de sucesso
query = [Ô]INSERT INTO Tabela_Contas (Utilizador, Senha) VALUES([ô][Ô] & Recebe_Utilizador & [Ô][ô],[ô][Ô] & Recebe_Senha & [Ô][ô])[Ô]
conn.execute query, rscount
response.contentType = [Ô]text/plain[Ô] [ô]diz o tipo de co conteudo (podia ser image/jpeg, image/gif
if rscount = 1 then
response.write([Ô]sucesso[Ô])
end if
conn.close()
conn = empty
application.unlock()
</script>
</html>
espero ter ajudado...
NIKYTS beleza,
Esqueci so de explicar melhor...
Estou Usando VB6... Crio o XML pelo VB6 mesmo...
Esse XML é uma especie de Ordem de Serviço.
Aonde eu coloquei uma variavel chamada [Ô]NomeArquivo[Ô] é onde esta o XML para ser enviado ao WEB service do Cliente.
Mais o Problema não é nem o retorno ainda, o erro acontece quando verifico.
XmlHttp.Open [Ô]POST[Ô], [Ô]http://www.empresa.com.br/empresa/empresa.asp[Ô]
XmlHttp.setRequestHeader [Ô]Content-Length[Ô], Len(NomeArquivo)
XmlHttp.setRequestHeader [Ô]Content-Type[Ô], [Ô]text/xml; charset=utf-8[Ô]
XmlHttp.send NomeArquivo
If XmlHttp.Status >= 400 And XmlHttp.Status <= 599 Then
MsgBox [Ô]Error Occurred : [Ô] & XmlHttp.Status & [Ô] - [Ô] & XmlHttp.StatusText
Else
MsgBox XmlHttp.responseText
End If
Essa parte sempre esta XmlHttp.Status = 400.
Agora nao sei se o erro esta em meu XML ou esta na webservice do cliente.
Ja que os mesmo me informaram que esta sem usuario e senha na webservice.
Esqueci so de explicar melhor...
Estou Usando VB6... Crio o XML pelo VB6 mesmo...
Esse XML é uma especie de Ordem de Serviço.
Aonde eu coloquei uma variavel chamada [Ô]NomeArquivo[Ô] é onde esta o XML para ser enviado ao WEB service do Cliente.
Mais o Problema não é nem o retorno ainda, o erro acontece quando verifico.
XmlHttp.Open [Ô]POST[Ô], [Ô]http://www.empresa.com.br/empresa/empresa.asp[Ô]
XmlHttp.setRequestHeader [Ô]Content-Length[Ô], Len(NomeArquivo)
XmlHttp.setRequestHeader [Ô]Content-Type[Ô], [Ô]text/xml; charset=utf-8[Ô]
XmlHttp.send NomeArquivo
If XmlHttp.Status >= 400 And XmlHttp.Status <= 599 Then
MsgBox [Ô]Error Occurred : [Ô] & XmlHttp.Status & [Ô] - [Ô] & XmlHttp.StatusText
Else
MsgBox XmlHttp.responseText
End If
Essa parte sempre esta XmlHttp.Status = 400.
Agora nao sei se o erro esta em meu XML ou esta na webservice do cliente.
Ja que os mesmo me informaram que esta sem usuario e senha na webservice.
COnsegui achar o erro... Declarei a variavel diferente obrigado.
Tópico encerrado , respostas não são mais permitidas