Por isso estou realiando uma tarefa na qual sera presciso informar uma numeracao de (cid) de determinadas maquinas (cid), os nomes das maquinas e taambem a sua identificacao.
O erro e o seguinte: "Syntaxe erro on Token, “]”, AssignmentOperator expected after this token. Como tratar este erro?
danieldestro
String[] machineId = new String[] {cid};
C
Cosme_Araujo
Muito obrigado Daniel, mas agora o erro foi para algumas linhas abaixo:
call.setTargetEndpointAdress(urlWS);
e o erro e: The method setTargetEndpointAdress(String)is undefined for the type call.
danieldestro
Ele diz que o objeto call não tem esse método ai.
Cara, porque você não usa WebServices do JEE5 ou então o Apache Axis, ou o XFire, em vez de fazer na mão usando o JWSDP?
C
Cosme_Araujo
Porque sou iniciante em JAVA, WEB SERVICE e desconheco tais ferramentas/programas. Com isso fica mais facil?
T
thingol
O compilador não perdoa erros de ortografia. Veja no dicionário de Inglês quantas letras D tem a palavra “endereço”.
De qualquer maneira, tente não usar DII (Dynamic Invocation Interface), além de ser difícil de usar, é mais lento e sujeito a esse tipo de problemas. Use alguma outra forma de invocar web services que não envolva tanto código escrito por você.
Se o web service tiver uma descrição WSDL, então fica super-fácil de invocá-lo.
danieldestro
hahahaha… bem visto, thingol.
Cosme, olhe os tutoriais sobre Axis aqui no GUJ ou procure no Google por Axis, XFire, ou a annotation @WebService do JEE5.
<%@pageimport="org.apache.axis.client.Call"%><%@pageimport="org.apache.axis.client.Service"%><%@pageimport="java.io.*"%><%@pageimport="java.util.*"%><%//String xml = request.getparameter("xml");Stringcid=request.getParameter("cid");StringurlWS="http://localhost:8080/axis/WSMachines.jws";String[]arrayCid=newString[]{cid};//String[] xml = new String[] ();Serviceservice=newService();Callcall=(Call)service.createCall();call.setTargetEndpointAddress(urlWS);call.setOperationName("getMachines");Stringret=(String)call.invoke(arrayCid);out.println("CID: "+ret);call.setOperationName("toxml");out.println("");%>
danieldestro
Cara, segue nossas dicas… ou use o JWSDP para fazer isso, ou trabalhe menos usando @WebServices do JEE-5 ou então Apache Axis ou XFire.
O padrão SOAP (xml) é muito complicado para humanos.
C
Cosme_Araujo
Daniel e que este e o ultimo trabalho neste projeto e a partir do proximo seguirei as suas dicas. Eu so gostaria de entender a logica de “printar” um referido metodo. Obrigado.
danieldestro
Cara, não é bem assim.
Como você está recebendo a requisição SOAP? Via Servlet que você fez, ou com auxílio de uma ferramenta própria para isso?
C
Cosme_Araujo
Estou utilizando um servidor remoto e consegui printar o “cid” de uma referida maquina porem nao consigo entender com fazer o mesmo mostrando o xml da referida maquina.
danieldestro
Então faz assim. Dá uma estudada antes sobre o que se trata WebServices. Tem uma apostila no meu site: http://java.danieldestro.com.br
Abraços