WEBSERVICES COM PHP
Ola a todos
Estou com o seguinte problema, vejam se vocês podem me ajudar.
Tem um fornecedor de serviços que me disponilibilzou um WebServices em PHP.
Este WS retorna um array de dados.
Eu adiciono como Web Reference no meu projeto em VB.Net
Tudo dá certo, mas quando eu executo não retorna nada. nehum dado.
Segue o código que estou utilizando:
Dim ws As New WSFornecedor
Dim d() As WSFornecedor.Dados = ws.obterBatidas([Ô]001[Ô], CDate([Ô]01/01/2011[Ô]), CDate([Ô]31/01/2011[Ô]))
For Each a As WSFornecedor.Dados In d
MessageBox.Show(a.Data.ToShortDateString)
Next
MessageBox.Show(d.Count.ToString)
Estou com o seguinte problema, vejam se vocês podem me ajudar.
Tem um fornecedor de serviços que me disponilibilzou um WebServices em PHP.
Este WS retorna um array de dados.
Eu adiciono como Web Reference no meu projeto em VB.Net
Tudo dá certo, mas quando eu executo não retorna nada. nehum dado.
Segue o código que estou utilizando:
Dim ws As New WSFornecedor
Dim d() As WSFornecedor.Dados = ws.obterBatidas([Ô]001[Ô], CDate([Ô]01/01/2011[Ô]), CDate([Ô]31/01/2011[Ô]))
For Each a As WSFornecedor.Dados In d
MessageBox.Show(a.Data.ToShortDateString)
Next
MessageBox.Show(d.Count.ToString)
Primeiramente, verifique se esses parâmetros realmente retornam algo, com o host do webservice.
Se voltar algo, verifique os tipos de dados que vc está passando.
Se mesmo assim não conseguir visualizar nenhum retorno, tente usar o SoapUI para verificar os tipos de dados.
Se voltar algo, verifique os tipos de dados que vc está passando.
Se mesmo assim não conseguir visualizar nenhum retorno, tente usar o SoapUI para verificar os tipos de dados.
Primeiramente valeu pela dica de usar o SoapUI.
Já me ajudou bastante.
Agora descobri que está errado é como o VB.Net envia oformato da data para o WebService.
No XSD está definido data inÃcio e data fim como tipo xsd:date, e no Vb.net eu passo convertendo com o Cdate.
E usando um sniffer verifiquei que o Vb.net está enviando as datas no formato yyyy-mm-dd e não formato pedido que é dd/mm/yyyy.
Já tentei formatar de tudo quanto é jeito e não consegui.
Se mandar como formato String não compila.
Tem algum jeito de formatar a data de como o VB envia?
Já me ajudou bastante.
Agora descobri que está errado é como o VB.Net envia oformato da data para o WebService.
No XSD está definido data inÃcio e data fim como tipo xsd:date, e no Vb.net eu passo convertendo com o Cdate.
E usando um sniffer verifiquei que o Vb.net está enviando as datas no formato yyyy-mm-dd e não formato pedido que é dd/mm/yyyy.
Já tentei formatar de tudo quanto é jeito e não consegui.
Se mandar como formato String não compila.
Tem algum jeito de formatar a data de como o VB envia?
Tenta assim:
Dim d() As WSFornecedor.Dados = ws.obterBatidas([Ô]001[Ô], Format(CDate([Ô]01/01/2011[Ô]), [Ô]yyyy-mm-dd[Ô]), Format(CDate([Ô]31/01/2011[Ô]), [Ô]yyyy-mm-dd[Ô]))
Dim d() As WSFornecedor.Dados = ws.obterBatidas([Ô]001[Ô], Format(CDate([Ô]01/01/2011[Ô]), [Ô]yyyy-mm-dd[Ô]), Format(CDate([Ô]31/01/2011[Ô]), [Ô]yyyy-mm-dd[Ô]))
Dá erro assim pois a função espera uma variável do tipo Date, e deste jeito manda uma String
Option Strict On disallows implicit conversions from [ô]String[ô] to [ô]Date[ô].
Teria que mandar um valor do Tipo Date com o formatado dd/mm/yyyy.
Option Strict On disallows implicit conversions from [ô]String[ô] to [ô]Date[ô].
Teria que mandar um valor do Tipo Date com o formatado dd/mm/yyyy.
Já tinha visto este.
Mas todos os métodos retorna uma string.
O problema é no WebService.
Pois os input são do tipo xsd:date
Teria que aceitar qualquer formato de data válido.
Obrigado pela ajuda.
Mas todos os métodos retorna uma string.
O problema é no WebService.
Pois os input são do tipo xsd:date
Teria que aceitar qualquer formato de data válido.
Obrigado pela ajuda.
Tópico encerrado , respostas não são mais permitidas