tenho alguns webservices que funcionam com PHP, e vou ter que ler esses webservices com java. Estou usando wsconsume do jbossws, mas a idéia é a mesma do wsimport do jax-ws.
A minha dúvida é, pq um cliente php consegue ler e em java não ?? Como eu poderia resolver isso ?
./wsconsume.sh -v -k -o teste-ws http://server.com.br/webservices/publico/Cursos.wsdl
[WARNING] src-resolve.4.2: Error resolving component 'xsd:array'. It was detected that 'xsd:array' is in namespace
'http://www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document
'http://server.com.br/webservices/publico/Cursos.wsdl#types?schema1'.
If this is the incorrect namespace, perhaps the prefix of 'xsd:array' needs to be changed.
If this is the correct namespace, then an appropriate 'import' tag should be added to
'http://server.com.br/webservices/publico/Cursos.wsdl#types?schema1'.
line 16 of http://server.com.br/webservices/publico/Cursos.wsdl#types?schema1
[ERROR] undefined simple or complex type 'xsd:array'
line 16 of http://server.com.br/webservices/publico/Cursos.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<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="http://Cursos" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://Cursos">
<types>
<xsd:schema targetNamespace="http://Cursos" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="qualified">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
<xsd:element name="getCursos">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="nome" type="xsd:string"/>
<xsd:element name="id_unidade" type="xsd:int"/>
<xsd:element name="id_area_atuacao" type="xsd:int"/>
<xsd:element name="id_nivel_escolaridade" type="xsd:int"/>
<xsd:element name="id_turno" type="xsd:int"/>
<xsd:element name="aberto" type="xsd:int"/>
<xsd:element name="idsModalidades" type="xsd:array"/>
<xsd:element name="limite" type="xsd:int"/>
<xsd:element name="offset" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getCursosResponse" type="xsd:string"/>
<xsd:element name="getCurso">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id_curso" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getCursoResponse" type="xsd:string"/>
<xsd:element name="getAreasDeAtuacao">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id_unidade" type="xsd:int"/>
<xsd:element name="id_nivel_escolaridade" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getAreasDeAtuacaoResponse" type="xsd:string"/>
<xsd:element name="getNiveisCurso">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id_unidade" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getNiveisCursoResponse" type="xsd:string"/>
<xsd:element name="getAreasNiveis">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id_unidade" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getAreasNiveisResponse" type="xsd:string"/>
</xsd:schema>
</types>
<message name="getCursosRequest">
<part name="getCursosRequest" element="tns:getCursos"/>
</message>
<message name="getCursosResponse">
<part name="getCursosReturn" element="tns:getCursosResponse"/>
</message>
<message name="getCursoRequest">
<part name="getCursoRequest" element="tns:getCurso"/>
</message>
<message name="getCursoResponse">
<part name="getCursoReturn" element="tns:getCursoResponse"/>
</message>
<message name="getAreasDeAtuacaoRequest">
<part name="getAreasDeAtuacaoRequest" element="tns:getAreasDeAtuacao"/>
</message>
<message name="getAreasDeAtuacaoResponse">
<part name="getAreasDeAtuacaoReturn" element="tns:getAreasDeAtuacaoResponse"/>
</message>
<message name="getNiveisCursoRequest">
<part name="getNiveisCursoRequest" element="tns:getNiveisCurso"/>
</message>
<message name="getNiveisCursoResponse">
<part name="getNiveisCursoReturn" element="getNiveisCursoResponse"/>
</message>
<message name="getAreasNiveisRequest">
<part name="getAreasNiveisRequest" element="tns:getAreasNiveis"/>
</message>
<message name="getAreasNiveisResponse">
<part name="getAreasNiveisReturn" element="getAreasNiveisResponse"/>
</message>
<portType name="CursosPortType">
<operation name="getCursos">
<input message="tns:getCursosRequest"/>
<output message="tns:getCursosResponse"/>
</operation>
<operation name="getCurso">
<input message="tns:getCursoRequest"/>
<output message="tns:getCursoResponse"/>
</operation>
<operation name="getAreasDeAtuacao">
<input message="tns:getAreasDeAtuacaoRequest"/>
<output message="tns:getAreasDeAtuacaoResponse"/>
</operation>
<operation name="getNiveisCurso">
<input message="tns:getNiveisCursoRequest"/>
<output message="tns:getNiveisCursoResponse"/>
</operation>
<operation name="getAreasNiveis">
<input message="tns:getAreasNiveisRequest"/>
<output message="tns:getAreasNiveisResponse"/>
</operation>
</portType>
<binding name="CursosBinding" type="tns:CursosPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="getCursos">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getCurso">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getAreasDeAtuacao">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getNiveisCurso">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getAreasNiveis">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="CursosService">
<port name="CursosPort" binding="tns:CursosBinding">
<soap:address location="http://server.com.br/webservices/Cursos.php"/>
</port>
</service>
</definitions>