WEBSERVICE - VIA POST USANDO POSTWEBSERVICE
Ola pessoal...
utilizo a funcao abaixo para enviar dados para um webService...via GET
PostWebservice([Ô]http://www.meuSite.com.br/webservice.php?var1=resultado1[Ô], [Ô][Ô], [Ô][Ô])
porém via GET tem limite de caracteres... gostaria de enviar via POST pois é sem limite.
Alem sabe como faço para enviar via POST os dados ?
utilizo a funcao abaixo para enviar dados para um webService...via GET
PostWebservice([Ô]http://www.meuSite.com.br/webservice.php?var1=resultado1[Ô], [Ô][Ô], [Ô][Ô])
Public Function PostWebservice(ByVal URL As String, ByVal SoapActionUrl As String, ByVal XmlBody As String) As String
Dim objDom As Object
Dim objXmlHttp As Object
Dim strRet As String
Dim intPos1 As Integer
Dim intPos2 As Integer
On Error GoTo Err_PW
[ô] Create objects to DOMDocument and XMLHTTP
Set objDom = CreateObject([Ô]MSXML2.DOMDocument[Ô])
Set objXmlHttp = CreateObject([Ô]MSXML2.XMLHTTP[Ô])
[ô] Load XML
objDom.async = False
objDom.loadXML XmlBody
[ô] Open the webservice
objXmlHttp.Open [Ô]POST[Ô], URL, False
[ô] Create headings
objXmlHttp.setRequestHeader [Ô]Content-Type[Ô], [Ô]text/xml; charset=utf-8[Ô]
objXmlHttp.setRequestHeader [Ô]SOAPAction[Ô], SoapActionUrl
[ô] Send XML command
objXmlHttp.Send objDom.XML
[ô] Get all response text from webservice
strRet = objXmlHttp.ResponseText
[ô] Close object
Set objXmlHttp = Nothing
[ô] Extract result
intPos1 = InStr(strRet, [Ô]Result>[Ô]) + 7
intPos2 = InStr(strRet, [Ô]</[Ô])
If intPos1 > 7 And intPos2 > 0 Then
strRet = Mid(strRet, intPos1, intPos2 - intPos1)
End If
[ô] Return result
PostWebservice = strRet
Exit Function
Err_PW:
PostWebservice = [Ô]Error: [Ô] & Err.Number & [Ô] - [Ô] & Err.Description
End Function
porém via GET tem limite de caracteres... gostaria de enviar via POST pois é sem limite.
Alem sabe como faço para enviar via POST os dados ?
Então neh !!.
A maneiria mais [Ô]tranquila[Ô] de fazer isso seria vc criar uma Dll no .net que faça o acesso ao ws desejado retornando os métodos disponÃveis.
Assim vc teria acesso aos metodos POST do ws.
Ficaria algo tipo :
Dim sd as new SuaDLL()
Dim string = sd.SeuMetodo() [ô]Neste caso SeuMetodo na Dll e no WS retornam o mesmo tipo de Dados(string)
Se fosse algo com passagem de parâmetro seria algo do tipo :
Dim sd as new SuaDLL()
Dim string = sd.SeuMetodo(suavariavel1,suavariavel2) [ô]Neste caso SeuMetodo na Dll e no WS retornam o mesmo tipo de Dados(string)
Onde SeuMetodo é uma referencia ao metodo desejado no seu webservice.
Acredito que seria a melhor forma de fazer isso e menos trabalhosa.
Eu particularmente nunca trabalhei com webservice no vb6 e não saberia lhe informar se haveria uma forma mais prática.
A maneiria mais [Ô]tranquila[Ô] de fazer isso seria vc criar uma Dll no .net que faça o acesso ao ws desejado retornando os métodos disponÃveis.
Assim vc teria acesso aos metodos POST do ws.
Ficaria algo tipo :
Dim sd as new SuaDLL()
Dim string = sd.SeuMetodo() [ô]Neste caso SeuMetodo na Dll e no WS retornam o mesmo tipo de Dados(string)
Se fosse algo com passagem de parâmetro seria algo do tipo :
Dim sd as new SuaDLL()
Dim string = sd.SeuMetodo(suavariavel1,suavariavel2) [ô]Neste caso SeuMetodo na Dll e no WS retornam o mesmo tipo de Dados(string)
Onde SeuMetodo é uma referencia ao metodo desejado no seu webservice.
Acredito que seria a melhor forma de fazer isso e menos trabalhosa.
Eu particularmente nunca trabalhei com webservice no vb6 e não saberia lhe informar se haveria uma forma mais prática.
iii.. complico...
nao mexo nada com .net
Será que nao há uma maneira mais facil? tipo, apenas informar que é via POST... e enviar os parametros como já faço com GET ?
nao mexo nada com .net
Será que nao há uma maneira mais facil? tipo, apenas informar que é via POST... e enviar os parametros como já faço com GET ?
Citação::
iii.. complico...
nao mexo nada com .net
Será que nao há uma maneira mais facil? tipo, apenas informar que é via POST... e enviar os parametros como já faço com GET ?
Então, para vb6 eu sinceramente não conheço nada que possa te ajudar.
Via método POST, você pode simplesmente usar um componente webbrowser, formar a URL e usar o método Navigate2 do webbrwoser
ok.. se via post nao é possÃvel...
teria como como enviar XML.. e capturar no servidor (PHP) ?
Pois na funcao tem duas variaveis, SoapActionUrl e XmlBody
mas como usar? alguem sabe?
Na internet nao achei nenhum exemplo usando essas variaveis.
teria como como enviar XML.. e capturar no servidor (PHP) ?
Pois na funcao tem duas variaveis, SoapActionUrl e XmlBody
mas como usar? alguem sabe?
Na internet nao achei nenhum exemplo usando essas variaveis.
Tópico encerrado , respostas não são mais permitidas