Neste post irei relatar aqui problemas que ocorreram quando tentava criar um cliente em Java de um webservice gerado no Delphi.Por algumas vezes ja precisei trabalhar com Webservices, como servidor e como cliente. Sempre usando tecnologias do JAVA, algumas vezs .NET.Recentemente, precisei criar um cliente para um servico desenvolvido em Delphi executado a partir de uma dll.Para minha surpresa tive problemas na implementacao, para uma surpresa ainda maior encontrei muitos programadores na internet com este mesmo problema que sera aqui relatado.Essa dificuldade e o pouco material encontrado sobre o assunto serviram de motivacao para publica-lo aqui.Problema: Comecei salvando o wsdl do servico, como sempre faco, e atraves do Eclipse (IDE de desenvolvimento Java) com alguns plugins, WSDL2Java, da API do APACHE AXIS 1.3 tentei gerar o cliente e nao obtive exito.O erro apresentado era sempre esse: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': Procurei outras formas de gerar os clientes. Tentei da forma mais basica tambem com AXIS 1.3, mas agora sem uso de plugins.Segue abaixo uma parte do codigo: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(); } Quando tentava invocar o metodo do servico passando os parametros necessarios caia nessa exception:nested exception is: org.xml.sax.SAXException: Bad envelope tag: definitions AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userExceptionBusquei entao outras API's do Java como XFIRE da Codehaus e JAX-WS da propria Sun e excessoes equivalentes ocorriam. Foi entao que resolvi analisar melhor o WSDL do servico gerado em Delphi.Percebi entao que a estrutura deste webservice era totalmente diferente de um gerado em Java ou .Net.Pesquisando na internet encontrei informacoes dizendo que a plataforma Delphi gerava as interfaces de um webservice que nao era compativel com o WS-I (padrao suportado pelo Java e .NET), ou seja, o servico delphi nao era interoperavel com a plataforma Java e .NET.WS-I e o perfil basico de interoperabilidade.O proximo passo era tentar fazer o Delphi gerar seu servico no padrao WS-I, porem, ate a publicacao deste post a empresa responsavel em prover esse servico nao havia conseguido efetuar tal tarefa.Solucao:Foi necessario solicitar que desenvolvessem novamente o webservice, que agora foi feito em .NET. A partir daqui a geracao dos clientes se deu normalmente sem maiores complicacoes.Pelo que conheco de SOA e Webservices este tipo de implementacao provem comunicacao entre qualquer linguagem, pois sua principal caracterisca e ser baseado em XML.Um servico web prove interoperabilidade entre maquinas em uma rede, neste caso a internet. E, um erro como esse fura o conceito dessa tecnologia. Caso esteja errado sintam-se a vontade para postar comentarios e me corrigir.Obrigado a todos, Rafael Martins Esta postagem tem como objetivo fornecer insumos comparativos entre duas ferramentas SCM (Software Configuration Management): CVS e SVN. Sua principal finalidade e auxiliar a tomada de decisao durante a migracao ou nao do SCM atual, CVS, para o SVN.Nele juntei pontos