METODO DLL RETORNA VALOR XML
Bom dia a todos !
Estou desenvolvendo uma DLL em VB6 que invoque métodos do meu webservice feito em C#, estou fazendo esta chamada através do SOAP TOOLKIT 3.0.
Quando faço essa chamada em uma aplicação teste, ele dá um erro:
[Ô]run-time error [ô]-2147024809(80070057)
WSDLReader: XML Parser failed at linenumber 0, lineposition 0, reason is: O sistema não
pode localizar o objeto especificado.
HRESULT =0x1: Função incorreta.
- WSDLReader:Loading of the WSDL file failed
HRESULT =0x80070057: Parâmetro incorreto.
- Client:One of the parameters supplied is invalid.
HRESULT =0x80070057: Parâmetro incorreto.[Ô]
Acredito que a causa deste erro é o formato XML que é o formato que o WebService retorna.
Alguém sabe me dizer como solucionar este erro?
O código da DLL é este:
[Ô]Private caminhoWebServirce As String
Private objWebService As SoapClient30
Public Function DigitoVerificador001(ByVal numCliente As Integer) As ADODB.Recordset
caminhoWebServirce = [Ô]http://10.18.12.152/WSURA/WebServiceURA.FlPrincipal.svc?wsdl[Ô]
Set objWebService = New SoapClient30
objWebService.MSSoapInit (caminhoWebServirce)
objWebService.ConnectorProperty([Ô]Timeout[Ô]) = 30000
Dim rsXML As New ADODB.Recordset
Set rsXML = objWebService.DigitoVerificador001(numCliente)
End Function[Ô]
E o código da minha aplicação teste é esse :
[Ô]Private Sub Form_Load()
Dim trt As DllUra.FlPrincipal
Set trt = New FlPrincipal
Dim tes As Integer
Dim n As New ADODB.Recordset
Dim strsvc As String
tes = 188
MsgBox (trt.DigitoVerificador001(tes))
End Sub[Ô]
Estou desenvolvendo uma DLL em VB6 que invoque métodos do meu webservice feito em C#, estou fazendo esta chamada através do SOAP TOOLKIT 3.0.
Quando faço essa chamada em uma aplicação teste, ele dá um erro:
[Ô]run-time error [ô]-2147024809(80070057)
WSDLReader: XML Parser failed at linenumber 0, lineposition 0, reason is: O sistema não
pode localizar o objeto especificado.
HRESULT =0x1: Função incorreta.
- WSDLReader:Loading of the WSDL file failed
HRESULT =0x80070057: Parâmetro incorreto.
- Client:One of the parameters supplied is invalid.
HRESULT =0x80070057: Parâmetro incorreto.[Ô]
Acredito que a causa deste erro é o formato XML que é o formato que o WebService retorna.
Alguém sabe me dizer como solucionar este erro?
O código da DLL é este:
[Ô]Private caminhoWebServirce As String
Private objWebService As SoapClient30
Public Function DigitoVerificador001(ByVal numCliente As Integer) As ADODB.Recordset
caminhoWebServirce = [Ô]http://10.18.12.152/WSURA/WebServiceURA.FlPrincipal.svc?wsdl[Ô]
Set objWebService = New SoapClient30
objWebService.MSSoapInit (caminhoWebServirce)
objWebService.ConnectorProperty([Ô]Timeout[Ô]) = 30000
Dim rsXML As New ADODB.Recordset
Set rsXML = objWebService.DigitoVerificador001(numCliente)
End Function[Ô]
E o código da minha aplicação teste é esse :
[Ô]Private Sub Form_Load()
Dim trt As DllUra.FlPrincipal
Set trt = New FlPrincipal
Dim tes As Integer
Dim n As New ADODB.Recordset
Dim strsvc As String
tes = 188
MsgBox (trt.DigitoVerificador001(tes))
End Sub[Ô]
Tenta:
caminhoWebServirce = [Ô]http://10.18.12.152/WSURA/WebServiceURA.FlPrincipal.svc[Ô]
Acrescentar [Ô]?wsdl[Ô] no endereço, é o mesmo que dizer para o webservice: [Ô]Oi! O que vc sabe fazer?[Ô]
então a resposta vai ser os métodos que esse webservice tem. Só pra constar, WSDL quer dizer [Ô]Web Service Description Language[Ô]
caminhoWebServirce = [Ô]http://10.18.12.152/WSURA/WebServiceURA.FlPrincipal.svc[Ô]
Acrescentar [Ô]?wsdl[Ô] no endereço, é o mesmo que dizer para o webservice: [Ô]Oi! O que vc sabe fazer?[Ô]
então a resposta vai ser os métodos que esse webservice tem. Só pra constar, WSDL quer dizer [Ô]Web Service Description Language[Ô]
Obrigado pela resposta, mas continua dando o mesmo erro, alguma idéia sobre o que pode ser, KERPLUNK ?
Abs !
Abs !
Pesquisei sobre esse erro especÃfico e ele significa que a URL está inválida por algum motivo(não existe, não há webservice respondendo...)
Seu código parece correto sintaticamente, mesmo assim, segue um exemplo(em inglês, mas tá valendo):
http://www.aspfree.com/c/a/VB.NET/Calling-a-Web-Service-using-VB6-with-SOAP-30/
Seu código parece correto sintaticamente, mesmo assim, segue um exemplo(em inglês, mas tá valendo):
http://www.aspfree.com/c/a/VB.NET/Calling-a-Web-Service-using-VB6-with-SOAP-30/
Kerplunk, será que este erro ocorre porcausa da extensão do arquivo(.svc) ? ou não tem nada haver ?
Porque esse projeto feito em C# é um WCF e sua extensão fica assim mesmo e não .asmx como um projeto webservice.
Obrigado pela resposta anterior.
Porque esse projeto feito em C# é um WCF e sua extensão fica assim mesmo e não .asmx como um projeto webservice.
Obrigado pela resposta anterior.
Hmmm!!! Nesse caso, seria MUITO melhor usar o WCF mesmo e não tentar consumir com SOAP...
Como assim Kerpelunk ? é pq a necessidade aqui é essa, uma aplicação VB acessar o WCF através da DLL, que invocará os métodos do WCF. Vc tem alguma outra sugestão sem ser o SOAP nessa DLL feita em VB6? Infelizmente é exigência do pessoal daqui.....
Bom, então tem que ser por SAOP mesmo...
Verificou se esse endereço realmente está correto? Daqui não o vejo...
Verificou se esse endereço realmente está correto? Daqui não o vejo...
Vou tentar dar uma olhada melhor nesses erros, mesmo assim, obrigado kerplunk!
Boa tarde my friend !
Boa tarde my friend !
Kerplunk, deu um estalo aqui e qdo deu a mensagem de erro novamente, eu cliquei no botão [Ô]help[Ô] e logo depois foi exibida a seguinte mensagem: [Ô]The MSDN collection does not exist. Please reinstall MSDN[Ô]. Será que o erro pode estar relacionado com essa instalação?
Na máquina em que estou desenvolvendo tem o VB5(SP3) instalado, não instalei o VB6 pq o pessoal aqui disse que dá conflito, então peguei um Vb6 portable e comecei a desenvolver a minha DLL nele. O que vc acha ?
Na máquina em que estou desenvolvendo tem o VB5(SP3) instalado, não instalei o VB6 pq o pessoal aqui disse que dá conflito, então peguei um Vb6 portable e comecei a desenvolver a minha DLL nele. O que vc acha ?
Lógico que não... MSDN são as bibliotecas de ajuda.
Amigo, tenha certeza que o serviço está acessÃvel. Pegue o endereço dele e coloque num browser qualquer...
Amigo, tenha certeza que o serviço está acessÃvel. Pegue o endereço dele e coloque num browser qualquer...
Tópico encerrado , respostas não são mais permitidas