Pessoal eu estou tendo imensa dificuldade no recebimento de array de objeto, já tentei de todas as formas possíveis e impossíveis, tentei usar o Axis e Ksoap com nenhum dos dois eu pude ser feliz, a pergunta é; Como receber array de objeto "SOAP complexType" pelo Java? Segue o WSDL;
<?xml version="1.0" encoding="ISO-8859-1"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:wsTabletPedido_server" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:wsTabletPedido_server">
<types>
<xsd:schema targetNamespace="urn:wsTabletPedido_server"
>
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
<xsd:complexType name="TProduto">
<xsd:all>
<xsd:element name="PRO_ID" type="xsd:string"/>
<xsd:element name="PRO_NOME" type="xsd:string"/>
<xsd:element name="PRO_PRECO_VENDA" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TListaProduto">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:TProduto[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TPedido">
<xsd:all>
<xsd:element name="PED_ID" type="xsd:string"/>
<xsd:element name="USU_ID" type="xsd:string"/>
<xsd:element name="PRO_ID" type="xsd:string"/>
<xsd:element name="PRO_QTD" type="xsd:string"/>
<xsd:element name="MESA" type="xsd:string"/>
<xsd:element name="DATAHORA" type="xsd:string"/>
<xsd:element name="STATUS" type="xsd:string"/>
<xsd:element name="FECHADO" type="xsd:string"/>
<xsd:element name="COMENTARIO" type="xsd:string"/>
<xsd:element name="PRO_NOME" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TListaPedido">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:TPedido[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</types>
<message name="loginUsuarioRequest">
<part name="usr" type="xsd:string" />
<part name="snh" type="xsd:string" /></message>
<message name="loginUsuarioResponse">
<part name="return" type="xsd:integer" /></message>
<message name="listaProdutoRequest">
<part name="filtro" type="xsd:string" /></message>
<message name="listaProdutoResponse">
<part name="return" type="tns:TListaProduto" /></message>
<message name="abreNovoPedidoRequest">
<part name="mesa" type="xsd:string" />
<part name="usu_id" type="xsd:string" />
<part name="pro_id" type="xsd:string" />
<part name="pro_qtd" type="xsd:string" />
<part name="comentario" type="xsd:string" /></message>
<message name="abreNovoPedidoResponse">
<part name="return" type="xsd:integer" /></message>
<message name="listaPedidoProntoRequest">
<part name="usu_id" type="xsd:string" /></message>
<message name="listaPedidoProntoResponse">
<part name="return" type="tns:TListaPedido" /></message>
<message name="avisoPedidoProntoRequest">
<part name="usu_id" type="xsd:string" /></message>
<message name="avisoPedidoProntoResponse">
<part name="return" type="xsd:integer" /></message>
<message name="fechaPedidoRequest">
<part name="ped_id" type="xsd:string" /></message>
<message name="fechaPedidoResponse">
<part name="return" type="xsd:integer" /></message>
<portType name="wsTabletPedidoPortType">
<operation name="loginUsuario">
<documentation>Metodo login de usuário...</documentation>
<input message="tns:loginUsuarioRequest"/>
<output message="tns:loginUsuarioResponse"/>
</operation>
<operation name="listaProduto">
<documentation>Metodo lista produto...</documentation>
<input message="tns:listaProdutoRequest"/>
<output message="tns:listaProdutoResponse"/>
</operation>
<operation name="abreNovoPedido">
<documentation>Metodo abre novo pedido...</documentation>
<input message="tns:abreNovoPedidoRequest"/>
<output message="tns:abreNovoPedidoResponse"/>
</operation>
<operation name="listaPedidoPronto">
<documentation>Metodo lista pedido...</documentation>
<input message="tns:listaPedidoProntoRequest"/>
<output message="tns:listaPedidoProntoResponse"/>
</operation>
<operation name="avisoPedidoPronto">
<documentation>Metodo retorna quantidade de pedidos prontos ainda não fechados pelo garçon, idealizado para a thread de aviso de pedidos liberados na cozinha...</documentation>
<input message="tns:avisoPedidoProntoRequest"/>
<output message="tns:avisoPedidoProntoResponse"/>
</operation>
<operation name="fechaPedido">
<documentation>Metodo fecha pedido...</documentation>
<input message="tns:fechaPedidoRequest"/>
<output message="tns:fechaPedidoResponse"/>
</operation>
</portType>
<binding name="wsTabletPedidoBinding" type="tns:wsTabletPedidoPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="loginUsuario">
<soap:operation soapAction="urn:loginUsuario#loginUsuario" style="rpc"/>
<input><soap:body use="encoded" namespace="urn:loginUsuario" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:loginUsuario" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="listaProduto">
<soap:operation soapAction="urn:listaProduto#listaProduto" style="rpc"/>
<input><soap:body use="encoded" namespace="urn:listaProduto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:listaProduto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="abreNovoPedido">
<soap:operation soapAction="urn:abreNovoPedido#abreNovoPedido" style="rpc"/>
<input><soap:body use="encoded" namespace="urn:abreNovoPedido" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:abreNovoPedido" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="listaPedidoPronto">
<soap:operation soapAction="urn:listaPedidoPronto#listaPedidoPronto" style="rpc"/>
<input><soap:body use="encoded" namespace="urn:listaPedidoPronto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:listaPedidoPronto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="avisoPedidoPronto">
<soap:operation soapAction="urn:avisoPedidoPronto#avisoPedidoPronto" style="rpc"/>
<input><soap:body use="encoded" namespace="urn:avisoPedidoPronto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:avisoPedidoPronto" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="fechaPedido">
<soap:operation soapAction="urn:fechaPedido#fechaPedido" style="rpc"/>
<input><soap:body use="encoded" namespace="urn:fechaPedido" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="urn:fechaPedido" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
</binding>
<service name="wsTabletPedido">
<port name="wsTabletPedidoPort" binding="tns:wsTabletPedidoBinding">
<soap:address location="http://localhost/webservice/index.php"/>
</port>
</service>
</definitions>
Alguém já passou por isso e resolveu? Se resolveu por favor dá uma força aqui, com certeza além de mim vai aparecer muita gente batendo cabeça com isso.
Valeu, abraços.