Amigos,
Bom dia,
Gostaria de uma ajuda na geração dos tipos complexos de um webservice que estou desenvolvendo e implantando no weblogic. Está tudo funcionando bem, o problema é que não estou conseguindo gerar os tipos complexos no retorno do servico. Vou mostrar as classes abaixo. O problema é que no cliente gerado pelo axis utilizando o wsdl gerado, ao inves de retornar o List está retornando java.lang.Object[], ou seja não está gerando o tipo complexo.
Alguem pode me dar alguma dica de como resolver o problema ?
package br.com.petrobras.siger.integration;
import br.com.petrobras.siger.common.business.SIGERService;
import br.com.petrobras.siger.common.entity.IndicadorUnidadeGerenciada;
import java.util.Date;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import weblogic.jws.WLHttpTransport;
@WebService
@WLHttpTransport(serviceUri="IndicadorService.wsdl", contextPath="siger")
public class IndicadorServerImpl extends SpringBeanAutowiringSupport {
@Autowired
private SIGERService sigerService;
public final static String SEPARADOR_LINHA = ";";
@WebMethod
public List<Cliente> buscarIndicadoresPorIdsAgrupamento(Date data, List<Long> idsAgrupamentos) {
return null;
}
}
package br.com.petrobras.siger.integration;
public class Cliente {
private String nome;
private Long codigo;
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
ABAIXO O WSDL GERADO
<?xml version='1.0' encoding='UTF-8'?>
<s0:definitions name="IndicadorServerImplServiceDefinitions" targetNamespace="http://br/com/petrobras/siger/integration" xmlns="" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://br/com/petrobras/siger/integration" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/">
<s0:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="java:java.util" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://br/com/petrobras/siger/integration" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<xs:complexType name="List">
<xs:complexContent>
<xs:restriction base="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
</xs:complexContent>
</xs:complexType>
</xs:schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://br/com/petrobras/siger/integration" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://br/com/petrobras/siger/integration" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="java:java.util"/>
<xs:element name="buscarIndicadoresPorIdsAgrupamento">
<xs:complexType>
<xs:sequence>
<xs:element name="data" type="xs:dateTime"/>
<xs:element name="idsAgrupamentos" type="java:List" xmlns:java="java:java.util"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="buscarIndicadoresPorIdsAgrupamentoResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="return" type="java:List" xmlns:java="java:java.util"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</s0:types>
<s0:message name="buscarIndicadoresPorIdsAgrupamento">
<s0:part element="s1:buscarIndicadoresPorIdsAgrupamento" name="parameters"/>
</s0:message>
<s0:message name="buscarIndicadoresPorIdsAgrupamentoResponse">
<s0:part element="s1:buscarIndicadoresPorIdsAgrupamentoResponse" name="parameters"/>
</s0:message>
<s0:portType name="IndicadorServerImpl">
<s0:operation name="buscarIndicadoresPorIdsAgrupamento" parameterOrder="parameters">
<s0:input message="s1:buscarIndicadoresPorIdsAgrupamento"/>
<s0:output message="s1:buscarIndicadoresPorIdsAgrupamentoResponse"/>
</s0:operation>
</s0:portType>
<s0:binding name="IndicadorServerImplServiceSoapBinding" type="s1:IndicadorServerImpl">
<s2:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<s0:operation name="buscarIndicadoresPorIdsAgrupamento">
<s2:operation style="document"/>
<s0:input>
<s2:body parts="parameters" use="literal"/>
</s0:input>
<s0:output>
<s2:body parts="parameters" use="literal"/>
</s0:output>
</s0:operation>
</s0:binding>
<s0:service name="IndicadorServerImplService">
<s0:port binding="s1:IndicadorServerImplServiceSoapBinding" name="IndicadorServerImplSoapPort">
<s2:address location="http://10.32.22.101:7001/siger/IndicadorService.wsdl"/>
</s0:port>
</s0:service>
</s0:definitions>