Pessoal não entendo de asp e to com uma missão de consumir um webservice no asp feito em java, eu fiz o webservice com axis2 e consegui consumir com java, o problema é fazer a encrenca desse ASP(versão antiga, muito antiga, o mais mais medieval que existe :lol: )
eu consegui isso:
dim strUrlWS
strUrlWS = "http://172.16.6.253:8080/CBE/services/ConsultaProtocolo?wsdl"
Set objSoap = Server.CreateObject("MSSOAP.SoapClient30")
objSoap.ClientProperty("ServerHTTPRequest") = True
objSoap.mssoapinit strUrlWS, "ConsultaProtocolo"
//linha 36 do erro, ConsultaProtocolo eh meu servico
dim Retorno
Retorno = objSoap.consultaDeclaracao(VProtocolo,VCnpjCpf,VIndPerfil)
response.Write Retorno
mas ele traz esse resultado:
WSDLReader error '80020009'
WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: The operation timed out HRESULT=0x1: Incorrect function. - WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: The parameter is incorrect. - Client:One of the parameters supplied is invalid. HRESULT=0x80070057: The parameter is incorrect.
funcVBS.asp, line 36
alguém poderia me ajudar, ou mais caridosamente se tiver um código em asp, já procurei na net, mas não funciona.
Agradeços a todos pela atenção.
Quando tive de fazer isso, como o MS SOAP Client é muito velho e não entende as coisas que foram criadas por web services atuais, eu simplesmente fiz o seguinte:
a) Solicitei ao cliente que se instalasse o .NET Framework 2.0 e 3.5 na máquina com ASP
b) Criei uma classe em C# que consumia esse web service, e que expunha uma interface COM - para tanto, usei o Visual Studio (2005 ou 2008)
c) Registrei essa classe (não no COM+, mas com COM mesmo, usando REGASM). Assim (com um bocado de esforço) foi possível fazer o ASP chamar uma classe COM que na verdade é um componente .NET.
Detalhes sangrentos:
Você tem de tomar cuidado com a interface do seu web service em Java. Talvez você tenha de tentar alterar a interface do seu web service até que o wizard do C# pare de reclamar de alguma coisa que ele não conseguiu entender no seu WSDL.
Não sei se é possível registrar a classe .NET no COM+. Quando tentei isso, só consegui fazer com que outras classes .NET conseguissem enxergar a classe .NET, mas não uma página ASP ou um programa VB 6.0. Deve haver alguma mágica que não sei fazer.
[quote=thingol]Quando tive de fazer isso, como o MS SOAP Client é muito velho e não entende as coisas que foram criadas por web services atuais, eu simplesmente fiz o seguinte:
a) Solicitei ao cliente que se instalasse o .NET Framework 2.0 e 3.5 na máquina com ASP
b) Criei uma classe em C# que consumia esse web service, e que expunha uma interface COM - para tanto, usei o Visual Studio (2005 ou 2008)
c) Registrei essa classe (não no COM+, mas com COM mesmo). Assim (com um bocado de esforço) foi possível fazer o ASP chamar uma classe COM que na verdade é um componente .NET.
Detalhes sangrentos:
Você tem de tomar cuidado com a interface do seu web service em Java. Talvez você tenha de tentar alterar a interface do seu web service até que o wizard do C# pare de reclamar de alguma coisa que ele não conseguiu entender no seu WSDL.
Não sei se é possível registrar a classe .NET no COM+. Quando tentei isso, só consegui fazer com que outras classes .NET conseguissem enxergar a classe .NET, mas não uma página ASP ou um programa VB 6.0. Deve haver alguma mágica que não sei fazer.
[/quote]
UI , se foi difícil assim pra você Master Thingol, imagina pra um novato que nunca mexi com asp, e pior com o antigo, o problema não é nem ter que aprender, é o tempo, que é sempre pra ontem. E ainda vi a possibilidade de instalar o .NET 2.0 é menor que 0, aqui pra ter acesso a um diretório semi-público é em torno de várioas meses e depois de passar pelo LULA, imagina instalar, quase caíram da mesa. Cliente…só querem a solução…
[quote=thingol]Se o servidor for Windows 2003 ou 2008, então o .NET Framework está instalado e você não precisa se preocupar. Que servidor está instalado?
[/quote]
2000
Se você fosse um “master in C++” poderia tentar usar o GSOAP, e criar um componente ActiveX em C++ que fosse chamado pelo ASP.
Mas acho que não é esse o seu caso
De qualquer forma, se você conseguir fazer um web service como REST e não SOAP (como é o caso do tal exemplo que o Pedrosa lhe passou) então fica um pouco mais fácil*, porque em última instância você só precisa enviar uma requisição http (POST ou GET dependendo do modelo do web service REST que você está usando).
[quote=thingol] Se você fosse um “master in C++” poderia tentar usar o GSOAP, e criar um componente ActiveX em C++ que fosse chamado pelo ASP.
Mas acho que não é esse o seu caso
[/quote]
[quote=Javabuntu]Pessoal não entendo de asp e to com uma missão de consumir um webservice no asp feito em java, eu fiz o webservice com axis2 e consegui consumir com java, o problema é fazer a encrenca desse ASP(versão antiga, muito antiga, o mais mais medieval que existe :lol: )
eu consegui isso:
dim strUrlWS
strUrlWS = "http://172.16.6.253:8080/CBE/services/ConsultaProtocolo?wsdl"
Set objSoap = Server.CreateObject("MSSOAP.SoapClient30")
objSoap.ClientProperty("ServerHTTPRequest") = True
objSoap.mssoapinit strUrlWS, "ConsultaProtocolo"
//linha 36 do erro, ConsultaProtocolo eh meu servico
dim Retorno
Retorno = objSoap.consultaDeclaracao(VProtocolo,VCnpjCpf,VIndPerfil)
response.Write Retorno
mas ele traz esse resultado:
WSDLReader error '80020009'
WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: The operation timed out HRESULT=0x1: Incorrect function. - WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: The parameter is incorrect. - Client:One of the parameters supplied is invalid. HRESULT=0x80070057: The parameter is incorrect.
funcVBS.asp, line 36
alguém poderia me ajudar, ou mais caridosamente se tiver um código em asp, já procurei na net, mas não funciona.
Agradeços a todos pela atenção.
[/quote]
Javabuntu, tente isso sua linha 36 (linha 5 do seu exemplo)