HELP COM CRIA?ÃO DE API / WEB SERVICE COM BD MYSQL
Adicionar
Alterar
Remover
A única coisa que vai mudar, é que você terá que passar o atributo WebMethod, pra dizer que ele está exposto no seu WebService.
Ficaria algo assim...
Public Class FacilitadorCrud
<WebMethod()>
public sub Adicionar(objeto as SeuObjeto)
[ô]Seu método pra adicionar aqui... igual você faz no Windows Form
end sub
<WebMethod()>
public sub Remover(id as integer)
[ô]Seu método pra remover aqui... igual você faz no Windows Form
end sub
<WebMethod()>
public sub Editar(novoObjeto as SeuObjeto)
[ô]Seu método pra editar aqui... igual você faz no Windows Form
end sub
End Class
Crie um projeto WebService e coloque sua classe lá. Publique seu webservice.
Coloque seu webservice lá na hospedagem do seu site (assim, você pode considerar a string de conexão como local). Precisa ver se ele tem suporte também para a tecnologia .NET...
Na sua aplicação Windows Form, vá em Add Service Reference... Coloque o caminho do seu webservice hospedado na web e seja feliz.
Abraços!
Já publicou seu Web Service? Se sim, basta ir no seu outro projeto, em Window Forms, clicar com o botão direito sobre o projeto e ir em [Ô]Add > Service Reference[Ô]
Após isto, coloque o endereço em que o Web Service está publicado no campo [Ô]Address[Ô]. ex: 127.0.0.1/seuws/servico.asmx
Em seguida clique em Go.
Irá ser exibida uma lista dos serviços, e logo abaixo, a NameSpace, que por padrão vem [Ô]ServiceReference1[Ô], neste caso pode ser alterado, mas vou usa-la como exemplo.
Após fazer este processo, basta instanciar em algum evento, como por exemplo, no seu botão.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim servico As New ServiceReference1.SeuWSSoapClient
servico.Inserir([Ô]Josélito[Ô])
End Sub
Citação::
KURTGU
Já publicou seu Web Service? Se sim, basta ir no seu outro projeto, em Window Forms, clicar com o botão direito sobre o projeto e ir em [Ô]Add > Service Reference[Ô]
Após isto, coloque o endereço em que o Web Service está publicado no campo [Ô]Address[Ô]. ex: 127.0.0.1/seuws/servico.asmx
Em seguida clique em Go.
Irá ser exibida uma lista dos serviços, e logo abaixo, a NameSpace, que por padrão vem [Ô]ServiceReference1[Ô], neste caso pode ser alterado, mas vou usa-la como exemplo.
Após fazer este processo, basta instanciar em algum evento, como por exemplo, no seu botão.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim servico As New ServiceReference1.SeuWSSoapClient
servico.Inserir([Ô]Josélito[Ô])
End Sub
Sim ja tinha feito desta forma mais recebo o erro...
System.Web.Services.Protocols.SoapException: O servidor não pôde processar a solicitação. ---> MySql.Data.MySqlClient.MySqlException: Column [ô]usuario[ô] cannot be null
em MySql.Data.MySqlClient.MySqlStream.OpenPacket()
em MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId)
em MySql.Data.MySqlClient.MySqlDataReader.GetResultSet()
em MySql.Data.MySqlClient.MySqlDataReader.NextResult()
em MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
em MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
em MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
em Service.Inserir(String usuario) na C:\Users\Dario Ferreira Franc\Documents\My Web Sites\WebSite1\WebSite1\App_Code\Service.vb:linha 41
--- Fim do rastreamento de pilha de exceções internas ---
Citação:System.Web.Services.Protocols.SoapException: O servidor não pôde processar a solicitação. ---> MySql.Data.MySqlClient.MySqlException: Column [ô]usuario[ô] cannot be null
em MySql.Data.MySqlClient.MySqlStream.OpenPacket()
em MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId)
em MySql.Data.MySqlClient.MySqlDataReader.GetResultSet()
em MySql.Data.MySqlClient.MySqlDataReader.NextResult()
em MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
em MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
em MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
em Service.Inserir(String usuario) na C:\Users\Dario Ferreira Franc\Documents\My Web Sites\WebSite1\WebSite1\App_Code\Service.vb:linha 41
--- Fim do rastreamento de pilha de exceções internas ---
Então, pelo erro que está dando, ele está recebendo valor nulo. Você está passando algum valor no parâmetro?
Citação::
Estou testando desta forma, para depois testar diretamente na aplicação tem algum problema?
Não, muito pelo contrário, você precisa testar desta forma para ter certeza que está tudo certo.
AÃ, nesta tela, ele está dando algum erro?
Agora, na sua aplicação, verifique se ele está passando algum valor para a chamada do web service.