estou fazendo algo básico em webservice e me surgiu a seguinte dúvida…
até que ponto eu posso receber/retornar qual quer tipo de dados?, por exemplo, tenho um certo método que receba como parâmetro, um List ou ArrayList, se
eu criar um cliente em C# ou qual quer outra linguagem deste webservice que esta em java, conseguirei passar como parâmetro para o WebService um “list” ou “ArrayList”?
dei um exemplo de passar algum parâmetro, porém, e se o mesmo retorna uma ArrayList, conseguirei fazer a leitura do mesmo?
ou seja, se nao conheco todas linguagens de programação, como saberei o que poderei colocar para retornar ou receber em meu WebService?
Obs.: Não sei se estou “viajando” na pergunta, é que me surgiu esta dúvida e não consegui encontrar resposta relacionadas a isto na web rsrsrsrs.
É aí que está a “mágica” do Web Service. Vc não precisa saber programar na linguagem em que ele foi desenvolvido para consumí-lo. Ou então, caso você for desenvolver um web service, não precisa criá-lo em todas as linguagens.
A troca de mensagem entre um web service e o seu cliente é feita em XML.
Quando vc acessar ou for retornar dados em web service, as informações são convertidas (envelopadas) em uma estrutura XML e a leitura dos dados desejados são lidos independente da linguagem que vc desenvolveu, bastando apenas fazer a leitura do arquivo XML.
No site da W3C tem as explicações bem simples e técnicas de como tudo isso funciona. (http://www.w3schools.com/webservices/ws_summary.asp)
Em um explicação mais didática, eu colocaria a seguinte situação.
Imagine um Alemão e um Russo tentando conversar.
Quando o Alemão falar o Russo não entederá. Quando o Russo conversar o Alemão não entenderá.
Mas digamos que esses dois coloquem uma linguagem intermediária, que seria o Inglês. Então ambos podem falar em Inglês e o recebimendo e envio das palavras serão entendidos por ambos.
Agora pense na sua aplicação. Java conversando com C#. Elas não se entendem. Mas se vc colocar no meio um XML elas podem se comunicar sem problemas.
Espero ter ajudado.
mas na prática, se determinado método de minha aplicação webService recebe como parâmetro um ArrayList,
no momento em que eu for consumir este método pelo meu cliente, terei que passar isto como parâmetro. Ai que vem o principal ponto que nao estou entendendo.
Como passar ou retornar um ArrayList em uma linguagem em que nao existe este tipo de dado?