WEBSERVICE COM MYSQL
Boa noite
colegas criei um webservice que faz algumas consultas em um banco de dados mysql hospedado em um provedor
na compiladção é criado --->>>WebSupersys.dll (webservice)
fiz a publicação blz.
no consumo, criei a dll [Ô]Conector.dll[Ô] com a referencia ao webservice do provedor, aparece todos os metodos certinho
Uma chamada ao webservice
Public Function AlteraAcesso(ByVal login As String, ByVal senha As String, ByVal CODEMP As String, ByVal CODSIST As String, ByVal ATIVO As String, ByVal MAQUINA As String, ByVal PRAZO As String) As String Implements IClasseNet.AlteraAcesso
Dim super As New WsuServico.WServico
AlteraAcesso = super.AlteraAcesso(login, senha, CODEMP)
End Function
No meu rojeto windows forms
Dim WServico As New Conector.ClsConection
chamada a dll de consumo
iretorno = WServico.AlteraAcesso(login,senha, Me.TextBox7.Text)
recebo a mensagem que a conexão com o provedor não foi permitida ou o firewall bloqueou o acesso.
Agora se eu retirar tudo da dll de consumo e adicionar a dll do webservice [Ô]WebSupersys.dll[Ô]
funciona só que pede o mysql.conector
esta logica tá certa
webservide rodando mysql no provedor(com referencias do mysql)
/
/
/
dll de consumo só pasando parametrose reebendo retorno
esta dll ficaria na pasta bin do meu aplicativo
/
/
/
meu aplicativo passando parametros e recebendo retorno da dll de consumo
sem precisa ter o mysql conector pois o mysql rodaria lá no provedor e não na minha maquina.
colegas criei um webservice que faz algumas consultas em um banco de dados mysql hospedado em um provedor
na compiladção é criado --->>>WebSupersys.dll (webservice)
fiz a publicação blz.
no consumo, criei a dll [Ô]Conector.dll[Ô] com a referencia ao webservice do provedor, aparece todos os metodos certinho
Uma chamada ao webservice
Public Function AlteraAcesso(ByVal login As String, ByVal senha As String, ByVal CODEMP As String, ByVal CODSIST As String, ByVal ATIVO As String, ByVal MAQUINA As String, ByVal PRAZO As String) As String Implements IClasseNet.AlteraAcesso
Dim super As New WsuServico.WServico
AlteraAcesso = super.AlteraAcesso(login, senha, CODEMP)
End Function
No meu rojeto windows forms
Dim WServico As New Conector.ClsConection
chamada a dll de consumo
iretorno = WServico.AlteraAcesso(login,senha, Me.TextBox7.Text)
recebo a mensagem que a conexão com o provedor não foi permitida ou o firewall bloqueou o acesso.
Agora se eu retirar tudo da dll de consumo e adicionar a dll do webservice [Ô]WebSupersys.dll[Ô]
funciona só que pede o mysql.conector
esta logica tá certa
webservide rodando mysql no provedor(com referencias do mysql)
/
/
/
dll de consumo só pasando parametrose reebendo retorno
esta dll ficaria na pasta bin do meu aplicativo
/
/
/
meu aplicativo passando parametros e recebendo retorno da dll de consumo
sem precisa ter o mysql conector pois o mysql rodaria lá no provedor e não na minha maquina.
No lado cliente, então, voce criou uma referência ao serviço do WebService.
é normal que o aplicativo seja bloqueado pelo firewall, pois ele [Ô]quer se conectar[Ô] ao serviço, e ninguém liberou acesso para ele.
AÃ você vai no Painel de Configurações, acessa o Firewall e libera o aplicativo, todas as portas e estações, internas á rede e externas permitidas. E o mesmo erro aparece.
Isso é porque o acesso também deverá ser liberado no site onde o webService é [Ô]pendurado[Ô]. Caso não o seja, apenas aplicativos [Ô]on line[Ô] no mesmo Domain é que terão esse direito ás consultas.
Há vários [Ô]posts[Ô] sobre o assunto na MS (veja este) e em vários fóruns.
Uma alternativa é Proxy. Mas como não é [Ô]receita de bolo[Ô], tem vários procedimentos, desde configurar o IIS, até esta á seguir, que é uma [Ô]possibilidade[Ô]. Por ela, você indica á instância do serviço que ela deverá utilizar as credenciais-padrão para o acesso:
Você também pode utilizar as credenciais reais de acesso ao site, que são (nome e senha) as da conta que utiliza para acessar o FTP que utiliza para [Ô]subir[Ô] o site, assim como pode criar um tipo de [Ô]config[Ô], um XML especÃfico para a liberação dos serviços entre domÃnios, o que é chamado de Cross-Domain, pois sua máquina - um domÃnio - vai acessar o serviço no site - outro domÃnio - e que alguns provedores proibem como regra. O modelo desse XML é como o abaixo:
O pessoal do Flaaaaasssggrhsgagagagahhh! (perdão, do Flash) utiliza muito esse recurso. O nome desse arquivo deve ser (oras!) [Ô]crossdomain.xml[Ô]. Ele fica no raÃz dos serviços, ou no raÃz do próprio site, dependendo do que se deseja.
é normal que o aplicativo seja bloqueado pelo firewall, pois ele [Ô]quer se conectar[Ô] ao serviço, e ninguém liberou acesso para ele.
AÃ você vai no Painel de Configurações, acessa o Firewall e libera o aplicativo, todas as portas e estações, internas á rede e externas permitidas. E o mesmo erro aparece.
Isso é porque o acesso também deverá ser liberado no site onde o webService é [Ô]pendurado[Ô]. Caso não o seja, apenas aplicativos [Ô]on line[Ô] no mesmo Domain é que terão esse direito ás consultas.
Há vários [Ô]posts[Ô] sobre o assunto na MS (veja este) e em vários fóruns.
Uma alternativa é Proxy. Mas como não é [Ô]receita de bolo[Ô], tem vários procedimentos, desde configurar o IIS, até esta á seguir, que é uma [Ô]possibilidade[Ô]. Por ela, você indica á instância do serviço que ela deverá utilizar as credenciais-padrão para o acesso:
...
Dim serviço As New MeuServiço()
serviço.PreAuthenticate = true
serviço.Credentials = System.Net.CredentialCache.DefaultCredentials
...
Você também pode utilizar as credenciais reais de acesso ao site, que são (nome e senha) as da conta que utiliza para acessar o FTP que utiliza para [Ô]subir[Ô] o site, assim como pode criar um tipo de [Ô]config[Ô], um XML especÃfico para a liberação dos serviços entre domÃnios, o que é chamado de Cross-Domain, pois sua máquina - um domÃnio - vai acessar o serviço no site - outro domÃnio - e que alguns provedores proibem como regra. O modelo desse XML é como o abaixo:
<?xml version=[Ô]1.0[Ô] encoding=[Ô]utf-8[Ô]?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers=[Ô]SOAPAction[Ô]>
<domain uri=[Ô]*[Ô]/>
</allow-from>
<grant-to>
<resource path=[Ô]/services/[Ô] include-subpaths=[Ô]true[Ô]/>
</grant-to>
</policy>
<policy >
<allow-from http-methods=[Ô]*[Ô]>
<domain uri=[Ô]www.contoso.com[Ô]/>
</allow-from>
<grant-to>
<resource path=[Ô]/services/[Ô] include-subpaths=[Ô]true[Ô]/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
O pessoal do Flaaaaasssggrhsgagagagahhh! (perdão, do Flash) utiliza muito esse recurso. O nome desse arquivo deve ser (oras!) [Ô]crossdomain.xml[Ô]. Ele fica no raÃz dos serviços, ou no raÃz do próprio site, dependendo do que se deseja.
Tópico encerrado , respostas não são mais permitidas