Meio perdido com Web Services

4 respostas
J

Olá…

Fiz uma procura sobre Web Services nas msgs anteriores, mas ainda assim não consegui entender bem. Estou completamente perdido. Eis a minha situação:

Tenho uma aplicação empacotada num JAR e gostaria de expor os métodos de uma determinada classe via WebServices, e ainda ter uma “página” onde o usuário poderia visualizar os dados retornados por um desses métodos de forma tabular.

Resumindo:

meupacote.jar

-MinhaClasse.java

-public void fazAlgumaCoista();

-public String getAlgumaCoista(String parametro1);

-public Collection getAlgumaCoisaList();

-ObjetoVO.java

-public String atributo1;

-public String atributo2;

-public String atributo3;

-public String atributo4;

Depois de apanhar muito, utilizando Axis 1.3, consegui:
-rodar o java2wsdl
-wsdl2java
-implementei a SoapBindingImpl.java repassando as chamadas para MinhaClasse
-configurei o web.xml adicionando os Servlets do Axis
-fiz o deploy no JBoss 4.0.3SP1 para http://localhost:8080/meuws/services/MeuWS

Estou testando o resultado desta sopa de letrinhas usando o Web Services Explorer do Eclipse 3.1.1 WTP, e recebo a seguinte mensagem para todo e qualquer método invocado:

[RPCProvider] Tried to invoke method public java.lang.String meu.pacote.ws.MinhaClasseSoapBindingImpl.getAlgumaCoisa(java.lang.String) throws java.rmi.RemoteException with arguments null. The arguments do not match the signature.
java.lang.IllegalArgumentException: object is not an instance of declaring class

O que diabos estou fazendo de errado? E gostaria de saber como farei o cliente para esse WebService (tenho uma aplicação Swing como cliente)?

Qualquer link, tutorial, blog, howto, sinal de fumaça é bem vindo!
Valeu pessoal! t+

4 Respostas

danieldestro

http://guj.com.br/java.artigo.159.1.guj

J

Oi Daniel,

Obrigado pela indicação do tutorial. Resolve a criação do cliente, mas ainda assim não consegui visualizar a solução para o problema no WS.

[RPCProvider] Tried to invoke method public java.lang.String meu.pacote.ws.MinhaClasseSoapBindingImpl.getAlgumaCoisa(java.lang.String) throws java.rmi.RemoteException with arguments null. The arguments do not match the signature.
java.lang.IllegalArgumentException: object is not an instance of declaring class

AugustoCSS

olhando meio por alto, parece q o seu método “getAlgumaCoisa” precisa receber um parametro que vc nao tá passando no seu teste de chamada ao ws.

J

Realmente, a msg de erro descreve que falta um parametro, mas o problema é que estou passando esse parametro. Talvez o problema está na forma como estou testando o WS, como disse anteriormente estou usando o Web Services Explorer do Eclipse 3.1.1+WTP, e para todo método, mesmo aqueles sem parametro como o “getAlgumaCoisaList”, recebo a mesma msg de erro.

Creio que o problema está na segunda parte da msg de erro: object is not an instance of declaring class

Criado 12 de abril de 2006
Ultima resposta 12 de abr. de 2006
Respostas 4
Participantes 3