Problema gerando cliente de um webservice no eclipse

Olá, pessoal! Tudo beleza?

Estou com um probleminha…

Já fiz esse processo que vou explicar várias vezes, mas se vale de informação todas as vezes foi através de um webservice criado em java pelo eclipse ou netbeans e gerado um cliente da mesma forma através do wsdl que é um padrão. Funcionaria em qualquer linguagem que tentar criar um cliente para tal.

Já tentei de várias formas e nenhuma funcionou. Vou explicar aqui duas formas e o erro apresentado.

1-
Tenho um webservice gerado por uma empresa de fora (criado através de uma IDE Delphi 7) rodando em um servidor aqui da empresa.

Capturei o wsdl e tentei gerar o cliente com o WSD2Java do Eclipse (usando axis) e me apresenta o seguinte erro:

Segue a imagem printada do erro em anexo “Erro Gerando Cliente 01”

IWAB0399E Error in generating Java from WSDL:  WSDLException (at /definitions/binding/operation/input): faultCode=INVALID_WSDL: Element '{http://schemas.xmlsoap.org/wsdl/}input' contained unexpected attributes: 'message': 

Pela mensagem apresentada seria um erro de validação do schema do wsdl, ou seja, algo na formação do wsdl estaria errado. Pelo menos foi essa a análise que fiz.

Mas fizemos um teste pegando esse mesmo wsdl e gerando um cliente no delphi 7 e funcionou corretamente. Então minha suposição anterior estaria “descartada”.

2-
Tentei também de uma outra forma. Quase que na mão. :frowning:
Como segue no código abaixo:

import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

/**
 * 
 */

/**
 * @author rafael
 * 
 */
public class TesteClienteWSURL {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		String id="01";
		String nome="Rafael";
		String nasc="09/12/1984";
		String sexo="M";
		String doc="1159506809";
		String tel="3333-3333";
		String cel="8888-8888";
		String conv="0102225484564";
		String mat="6082";
		String temp="";
				
		try {
			String wsURL = "http://server-call/webcliente/WebAgenda.dll/wsdl/IWebagenda?wsdl";

			Object[] params = { id, nome, nasc, sexo, doc, tel, cel, conv, mat, temp};

			Service service = new Service();

			Call call = (Call) service.createCall();

			call.setTargetEndpointAddress(wsURL);

			call.setOperationName("ReceberCliente");

			String ret = (String) call.invoke(params);
			
			System.out.println("Resultado: " +ret);
			

		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
			e.printStackTrace();
	}

}

Mas, no momento de fazer o String ret = (String) call.invoke(params); ele cai em uma exception do tipo :

nested exception is: 
	org.xml.sax.SAXException: Bad envelope tag:  definitions
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXException: Bad envelope tag:  definitions
 faultActor: 
 faultNode: 
 faultDetail: 

Em anexo seguem mais arquivos:
-Erro Gerando Cliente 01
-Classe para fazer o teste do cliente na mão
-Toda a Excecao Gerada

Se alguem souber a falha que estou comentendo e puder me informar para que eu possa corrigir ficarei muito agradecido. Pois, não estou conseguindo entender esse erro.

UM ABRAÇO A TODOS.
E BOA SORTE.

RAFAEL MARTINS


Segue o WSDL DO SERVIÇO PARA QUEM PUDER ME AJUDAR.

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="IWebagendaservice" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
  <message name="ReceberCliente0Request">
    <part name="id" type="xs:string"/>
    <part name="Nome" type="xs:string"/>
    <part name="Nasc" type="xs:string"/>
    <part name="Sexo" type="xs:string"/>
    <part name="Doc" type="xs:string"/>
    <part name="Tel" type="xs:string"/>
    <part name="Cel" type="xs:string"/>
    <part name="Conv" type="xs:string"/>
    <part name="Mat" type="xs:string"/>
    <part name="Temp" type="xs:string"/>
  </message>
  <message name="ReceberCliente0Response">
    <part name="return" type="xs:string"/>
  </message>
  <portType name="IWebagenda">
    <operation name="ReceberCliente">
      <input message="tns:ReceberCliente0Request"/>
      <output message="tns:ReceberCliente0Response"/>
    </operation>
  </portType>
  <binding name="IWebagendabinding" type="tns:IWebagenda">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="ReceberCliente">
      <soap:operation soapAction="urn:WebagendaIntf-IWebagenda#ReceberCliente" style="rpc"/>
      <input message="tns:ReceberCliente0Request">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebagendaIntf-IWebagenda"/>
      </input>
      <output message="tns:ReceberCliente0Response">
        <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:WebagendaIntf-IWebagenda"/>
      </output>
    </operation>
  </binding>
  <service name="IWebagendaservice">
    <port name="IWebagendaPort" binding="tns:IWebagendabinding">
      <soap:address location="http://10.30.3.129/webcliente/WebAgenda.dll/soap/IWebagenda"/>
    </port>
  </service>
</definitions>

ABRAÇOS

Galera achei pelo google alguém dizendo que era algo sobre o axis não conseguir gerar um cliente de um serviço gerado em outra linguagem. Porém, não consegui verificar a veracidade disso.

Estou com o mesmo problema, conseguiu resolver?

Resolvi sim amigão.

Deixei um post em meu blog explicando o ocorrido.

Leia neste link direto - > http://rafaelmartinsjava.blogspot.com/2008/07/problemas-para-criar-cliente-java-de-um.html

Abraços
Qualquer coisa me avisa.

Boa noite amigo, pode me dar uma ajuda, nao tenho muita espernearia em java.
Estou tentando implementar um Cliente java para consumir um Web service desenvolvido em PHP. Porem nao estou conseguindo.
Minha wsdl é essa http://foxserver.no-ip.info:8080/fernando/moodle/ws/wsSimples.php?wsdl
e minha implementacao eh a seguinte[code]String wsURL = “http://foxserver.no-ip.info:8080/fernando/moodle/ws/wsSimples.php?wsdl”;
String nome = “nome”;
Object[] params = {nome};

     Service service = new Service();

     Call call = (Call) service.createCall();

     call.setTargetEndpointAddress(wsURL);

     call.setOperationName("hello");

     String ret = (String) call.invoke(params);

     out.println("Resultado: " +ret);[/code]

Mas o seguinte erro esta ocorrendo
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 28

25:
26: call.setOperationName(“hello”);
27:
28: String ret = (String) call.invoke(params);
29:
30: out.println("Resultado: " +ret);
31:

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:407)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

org.xml.sax.SAXException: Bad envelope tag: definitions
org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
org.apache.axis.client.Call.invokeEngine(Call.java:2784)
org.apache.axis.client.Call.invoke(Call.java:2767)
org.apache.axis.client.Call.invoke(Call.java:2443)
org.apache.axis.client.Call.invoke(Call.java:2366)
org.apache.axis.client.Call.invoke(Call.java:1812)
org.apache.jsp.index_jsp._jspService(index_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

org.xml.sax.SAXException: Bad envelope tag: definitions
org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:71)
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103)
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
org.apache.axis.client.Call.invokeEngine(Call.java:2784)
org.apache.axis.client.Call.invoke(Call.java:2767)
org.apache.axis.client.Call.invoke(Call.java:2443)
org.apache.axis.client.Call.invoke(Call.java:2366)
org.apache.axis.client.Call.invoke(Call.java:1812)
org.apache.jsp.index_jsp._jspService(index_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)