Usuário com melhor resposta
Pq ao Publicar WebService ele ñ me Retorna Resultados?

Pergunta
-
Olá Boa Noite fui fz a primeira publicação de um WebService bem simplinho hospedando na LOCAWEB que eu tinha feito no VS2005 e publicado via frontpage mas ele não me retorna o resultado vejam no link abaixo e cliquem no link somar do serviço
https://ssl553.websiteseguro.com/webprodutos1/wssetup/Service1.asmxDetalhe no code-behind do Service1.asmx eu comentei o link
namespace wssetup
{
///
/// Summary description for Service1
///
//[WebService(Namespace = "http://tempuri.org/")]
[WebService(Namespace = "https://ssl553.websiteseguro.com/webprodutos1/wssetup/Service1.asmx")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
e descomentei o link para executar o .asmx como estava fz em local host só que não executa clique no link somar do ServiçoEntão por ser a primeira vêz que estou publicando um teste de serviço p/ meus
Estudos na Web pq não está me retornando o mesmo resultado que aparece em
Localhost?
O que eu preciso mexer antes de publicar á mais para que o meu servidor reconheça o meu serviço ou regra de negócios?
At. e quem pd me ajudar fico no aguardo
Respostas
-
Olá pessoal do MSDN o que seria de nós sem vcs
Pesquisando na Area de WebServices e verificando alguns topicos encontrei a solução do problema apresentado, bastando que fosse colocado no webconfig do .asmx a seguinte tag
<system.web>
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="HttpSoap"/>
<add name="Documentation"/>
</protocols>
</webServices>
Mas aí pesquisando outros WebServices de links externos por ex. do Google Maps entre outros, percebi que ao chamar o link
http://api.google.com/GoogleSearch.wsdl
Verifiquei que ele fica quase que igual, enfim a regra de negócios testada localmente, não aparece no browser aí fica + uma duvida, baseada nas circunstâncias abaixo
1) O primeiro Link de teste de um WS com o WebConfig configurado ácima ficou desse jeito ou seja com a regra de negócios aberta a tds
https://ssl553.websiteseguro.com/webprodutos1/wssetup/Service1.asmx
2)O segundo Link de teste de outro WS com WebConfig sem as tags configuradas como ácima
mostra o link p/ add o serviço mas não mostra a regra de negócios na web só mostra localmente
https://ssl553.websiteseguro.com/webprodutos1/WsClientes/WsClientes.asmx
onde mostra a mensagem
The test form is only available for requests from the local machine. (O Teste desta Regra de Negócios somente é avaliado em maquina local )
Qdo eu clico em um metodo por ex. obterPF na Web
3)e no último citado acima e abaixo ele só aparece a home e nem dx clicar em metodo ou objeto
http://api.google.com/GoogleSearch.wsdl
Então eu chego á seguinte conclusão, me corrijam e ao mesmo tempo me tirem ás duvidas se possivel caso eu esteja errado em minhas conclusões
No primeiro ex. ele add referencia a qq projeto que consuma um WebService, más ele não protege a regra de negócios do Desenvolvedor do WS ou pelo menos ele mostra um teste mais claro dos resultados
No Segundo ex. apesar de exibir a pagina de teste , ele não executa o teste ou regra de negócios áo clicar em qq método existente do WS, porem, me corrijam se eu estiver errado, ele add a referencia do negócio da mesma forma que o primeiro ex. na app que for consumir este WS, ou seja, concluindo ele protege melhor sua regra de negócios, mas ainda mostra tds os métodos usados
No Terceiro ex. ele mostra só a primeira pagina do WS, não tendo link p/ ex. dos metodos, mas tb add a referencia á app que for Consumir tal WS? E neste terceiro teria alguem aí do forum que me mostra-se como se cria um WS nesse formato .WSDL
Fico no aguardo mas desde já agradeço, pois consegui a resposta a minha primeira duvida?
Todas as Respostas
-
Olá pessoal do MSDN o que seria de nós sem vcs
Pesquisando na Area de WebServices e verificando alguns topicos encontrei a solução do problema apresentado, bastando que fosse colocado no webconfig do .asmx a seguinte tag
<system.web>
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="HttpSoap"/>
<add name="Documentation"/>
</protocols>
</webServices>
Mas aí pesquisando outros WebServices de links externos por ex. do Google Maps entre outros, percebi que ao chamar o link
http://api.google.com/GoogleSearch.wsdl
Verifiquei que ele fica quase que igual, enfim a regra de negócios testada localmente, não aparece no browser aí fica + uma duvida, baseada nas circunstâncias abaixo
1) O primeiro Link de teste de um WS com o WebConfig configurado ácima ficou desse jeito ou seja com a regra de negócios aberta a tds
https://ssl553.websiteseguro.com/webprodutos1/wssetup/Service1.asmx
2)O segundo Link de teste de outro WS com WebConfig sem as tags configuradas como ácima
mostra o link p/ add o serviço mas não mostra a regra de negócios na web só mostra localmente
https://ssl553.websiteseguro.com/webprodutos1/WsClientes/WsClientes.asmx
onde mostra a mensagem
The test form is only available for requests from the local machine. (O Teste desta Regra de Negócios somente é avaliado em maquina local )
Qdo eu clico em um metodo por ex. obterPF na Web
3)e no último citado acima e abaixo ele só aparece a home e nem dx clicar em metodo ou objeto
http://api.google.com/GoogleSearch.wsdl
Então eu chego á seguinte conclusão, me corrijam e ao mesmo tempo me tirem ás duvidas se possivel caso eu esteja errado em minhas conclusões
No primeiro ex. ele add referencia a qq projeto que consuma um WebService, más ele não protege a regra de negócios do Desenvolvedor do WS ou pelo menos ele mostra um teste mais claro dos resultados
No Segundo ex. apesar de exibir a pagina de teste , ele não executa o teste ou regra de negócios áo clicar em qq método existente do WS, porem, me corrijam se eu estiver errado, ele add a referencia do negócio da mesma forma que o primeiro ex. na app que for consumir este WS, ou seja, concluindo ele protege melhor sua regra de negócios, mas ainda mostra tds os métodos usados
No Terceiro ex. ele mostra só a primeira pagina do WS, não tendo link p/ ex. dos metodos, mas tb add a referencia á app que for Consumir tal WS? E neste terceiro teria alguem aí do forum que me mostra-se como se cria um WS nesse formato .WSDL
Fico no aguardo mas desde já agradeço, pois consegui a resposta a minha primeira duvida?
-
No terceiro caso voce está abrindo o wsdl, nao uma página de help.
O wsdl na tecnologia microsoft é gerado automaticamente, basta colocar um ?wsdl no final do endereço, assim:
https://ssl553.websiteseguro.com/webprodutos1/wssetup/Service1.asmx?wsdl
-
Olá Mateu boa td
Mas ainda vc. não me respondeu uma duvida e baseando-se a sua resposta a seguinte duvida
a) Em tds os exemplos que eu ti passei independente de ele mostrar os testes ou não ele add normalmente as web referencias em qq applicação que solicite esses webservices e as executa normalmente?
b)Baseado em sua resposta
O wsdl na tecnologia microsoft é gerado automaticamente, basta colocar um ?wsdl no final do endereço, assim:
https://ssl553.websiteseguro.com/webprodutos1/wssetup/Service1.asmx?wsdl
A hr que eu add a webreference no projeto ou app ele irá adicioná-la normalmente mas a página de teste que ele irá exibir será igual ao webservice do google como no link que ti mostrei?
fico no aguardo