Hi all, I'm totally new to XFire and Web Services in general.

I am developing a Web Service that pulls a list from a database and
exposes it to a Web Service. I am using XFire 1.2.6, Java 6 and Tomcat
5.5, and JAXB bindings, auto-generated by the XFire Eclipse plugin
(latest version).

What is happening is that I am able to deploy the war, run it on
Tomcat and even generate the wsdl. The problem is, when I go through
Eclipse Web Services Explorer, whenever I call the method, I am
presented with the error:

XML Parsing Error: not well-formed
Location: 
http://localhost:52007/wsexplorer/wsdl/soap_envelope_xml.jsp?soapEnvelopeType=1
Line Number 2, Column 7:------=_Part_0_16781903.1201518831261
------^

I am able to debug and verify that the service is being called and
that no error is thrown. I am really lost here, have already googled
for the error and found no answer.

Here is my wsdl (as generated by xfire) - btw I've realized my
namespace is stupid:

<wsdl:definitions
targetNamespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/";>
−
        <wsdl:types>
−
        <xsd:schema attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/";>
−
        <xs:element name="MensagemErro">
−
        <xs:complexType>
−
        <xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="erro" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
−
        <xs:complexType name="ListaTrabalhosConclusao">
−
        <xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:TrabalhoConclusao"/>
</xs:sequence>
</xs:complexType>
−
        <xs:element name="TrabalhoConclusao">
−
        <xs:complexType>
−
        <xs:sequence>
<xs:element name="idTrabalho" type="xs:int"/>
<xs:element name="nomeAutor" type="xs:string"/>
<xs:element name="tituloTrabalho" type="xs:string"/>
<xs:element name="nivelTrabalho" type="xs:string"/>
−
        <xs:element name="areasConhecimento">
−
        <xs:complexType>
−
        <xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:AreaConhecimento"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="idiomaTrabalho" type="xs:string"/>
<xs:element name="nomeArquivo" type="xs:string"/>
<xs:element name="palavrasChave" type="xs:string"/>
<xs:element name="siglaIESPais" type="xs:string"/>
<xs:element name="curso" type="xs:string"/>
<xs:element name="anoDefesa" type="xs:int"/>
<xs:element name="resumo" type="xs:string"/>
<xs:element name="acao" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
−
        <xs:element name="AreaConhecimento">
−
        <xs:complexType>
−
        <xs:sequence>
<xs:element name="idAreaConhecimento" type="xs:int"/>
<xs:element name="nomeAreaConhecimento" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
−
        <xs:complexType name="Trabalho">
−
        <xs:sequence>
<xs:element ref="ns3:TrabalhoConclusao"/>
</xs:sequence>
</xs:complexType>
−
        <xs:simpleType name="motivos">
−
        <xs:restriction base="xs:string">
<xs:enumeration value="Invalido"/>
<xs:enumeration value="Inexistente"/>
<xs:enumeration value="Incompleto"/>
</xs:restriction>
</xs:simpleType>
−
        <xs:simpleType name="acoes">
−
        <xs:restriction base="xs:string">
<xs:enumeration value="Rejeitar"/>
<xs:enumeration value="Aproveitar"/>
</xs:restriction>
</xs:simpleType>
</xsd:schema>
</wsdl:types>
−
        <wsdl:message name="getArquivoTrabalhoConclusaoResponse">
<wsdl:part name="arquivo" type="xsd:base64Binary">
    </wsdl:part>
</wsdl:message>
−
        <wsdl:message name="getArquivoTrabalhoConclusaoRequest">
<wsdl:part name="sequencial" type="xsd:int">
    </wsdl:part>
</wsdl:message>
−
        <wsdl:message name="getListaTrabalhosConclusaoResponse">
<wsdl:part name="lista" type="tns:ListaTrabalhosConclusao">
    </wsdl:part>
</wsdl:message>
<wsdl:message name="setResultadoAcaoTrabalhoConclusaoResponse">
  </wsdl:message>
−
        <wsdl:message name="getTrabalhoConclusaoRequest">
<wsdl:part name="sequencial" type="xsd:int">
    </wsdl:part>
</wsdl:message>
<wsdl:message name="getListaTrabalhosConclusaoRequest">
  </wsdl:message>
−
        <wsdl:message name="setResultadoAcaoTrabalhoConclusaoRequest">
<wsdl:part name="sequencial" type="xsd:int">
    </wsdl:part>
<wsdl:part name="acao" type="tns:Acoes">
    </wsdl:part>
<wsdl:part name="motivo" type="tns:Motivos">
    </wsdl:part>
<wsdl:part name="usuario" type="xsd:string">
    </wsdl:part>
</wsdl:message>
−
        <wsdl:message name="MensagemErro">
<wsdl:part name="MensagemErro" element="tns:MensagemErro">
    </wsdl:part>
</wsdl:message>
−
        <wsdl:message name="getTrabalhoConclusaoResponse">
<wsdl:part name="trabalho" type="tns:Trabalho">
    </wsdl:part>
</wsdl:message>
−
        <wsdl:portType name="wscadastro">
−
        <wsdl:operation name="getListaTrabalhosConclusao">
<wsdl:input name="getListaTrabalhosConclusaoRequest"
message="tns:getListaTrabalhosConclusaoRequest">
    </wsdl:input>
<wsdl:output name="getListaTrabalhosConclusaoResponse"
message="tns:getListaTrabalhosConclusaoResponse">
    </wsdl:output>
<wsdl:fault name="MensagemErro" message="tns:MensagemErro">
    </wsdl:fault>
</wsdl:operation>
−
        <wsdl:operation name="getTrabalhoConclusao">
<wsdl:input name="getTrabalhoConclusaoRequest"
message="tns:getTrabalhoConclusaoRequest">
    </wsdl:input>
<wsdl:output name="getTrabalhoConclusaoResponse"
message="tns:getTrabalhoConclusaoResponse">
    </wsdl:output>
<wsdl:fault name="MensagemErro" message="tns:MensagemErro">
    </wsdl:fault>
</wsdl:operation>
−
        <wsdl:operation name="setResultadoAcaoTrabalhoConclusao">
<wsdl:input name="setResultadoAcaoTrabalhoConclusaoRequest"
message="tns:setResultadoAcaoTrabalhoConclusaoRequest">
    </wsdl:input>
<wsdl:output name="setResultadoAcaoTrabalhoConclusaoResponse"
message="tns:setResultadoAcaoTrabalhoConclusaoResponse">
    </wsdl:output>
<wsdl:fault name="MensagemErro" message="tns:MensagemErro">
    </wsdl:fault>
</wsdl:operation>
−
        <wsdl:operation name="getArquivoTrabalhoConclusao">
<wsdl:input name="getArquivoTrabalhoConclusaoRequest"
message="tns:getArquivoTrabalhoConclusaoRequest">
    </wsdl:input>
<wsdl:output name="getArquivoTrabalhoConclusaoResponse"
message="tns:getArquivoTrabalhoConclusaoResponse">
    </wsdl:output>
<wsdl:fault name="MensagemErro" message="tns:MensagemErro">
    </wsdl:fault>
</wsdl:operation>
</wsdl:portType>
−
        <wsdl:binding name="wscadastroHttpBinding" type="tns:wscadastro">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
−
        <wsdl:operation name="getListaTrabalhosConclusao">
<wsdlsoap:operation
soapAction="http://homologacao2.capes.gov.br:8180/wscadastro/services/getListaTrabalhosConclusao"/>
−
        <wsdl:input name="getListaTrabalhosConclusaoRequest">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:input>
−
        <wsdl:output name="getListaTrabalhosConclusaoResponse">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:output>
−
        <wsdl:fault name="MensagemErro">
<wsdlsoap:fault name="MensagemErro" use="literal"/>
</wsdl:fault>
</wsdl:operation>
−
        <wsdl:operation name="getTrabalhoConclusao">
<wsdlsoap:operation
soapAction="http://homologacao2.capes.gov.br:8180/wscadastro/services/getTrabalhoConclusao"/>
−
        <wsdl:input name="getTrabalhoConclusaoRequest">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:input>
−
        <wsdl:output name="getTrabalhoConclusaoResponse">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:output>
−
        <wsdl:fault name="MensagemErro">
<wsdlsoap:fault name="MensagemErro" use="literal"/>
</wsdl:fault>
</wsdl:operation>
−
        <wsdl:operation name="setResultadoAcaoTrabalhoConclusao">
<wsdlsoap:operation
soapAction="http://homologacao2.capes.gov.br:8180/wscadastro/services/setResultadoAcaoTrabalhoConclusao"/>
−
        <wsdl:input name="setResultadoAcaoTrabalhoConclusaoRequest">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:input>
−
        <wsdl:output name="setResultadoAcaoTrabalhoConclusaoResponse">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:output>
−
        <wsdl:fault name="MensagemErro">
<wsdlsoap:fault name="MensagemErro" use="literal"/>
</wsdl:fault>
</wsdl:operation>
−
        <wsdl:operation name="getArquivoTrabalhoConclusao">
<wsdlsoap:operation
soapAction="http://homologacao2.capes.gov.br:8180/wscadastro/services/getArquivoTrabalhoConclusao"/>
−
        <wsdl:input name="getArquivoTrabalhoConclusaoRequest">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:input>
−
        <wsdl:output name="getArquivoTrabalhoConclusaoResponse">
<wsdlsoap:body use="literal"
namespace="http://homologacao2.capes.gov.br:8180/wscadastro/services/"/>
</wsdl:output>
−
        <wsdl:fault name="MensagemErro">
<wsdlsoap:fault name="MensagemErro" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
−
        <wsdl:service name="wscadastro">
−
        <wsdl:port name="wscadastroHttpPort" 
binding="tns:wscadastroHttpBinding">
<wsdlsoap:address
location="http://127.0.0.1:8080/wscadastro/services/wscadastro"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

My web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="wscadastro" version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
        <display-name>Web Services do Cadastro de Discentes</display-name>

        <servlet>
                <display-name>XFire Servlet</display-name>      
                <servlet-name>XFireServlet</servlet-name>
                <servlet-class>
                        
org.codehaus.xfire.transport.http.XFireConfigurableServlet
                </servlet-class>
        </servlet>

        <servlet-mapping>
                <servlet-name>XFireServlet</servlet-name>
                <url-pattern>/servlet/XFireServlet/*</url-pattern>
        </servlet-mapping>

        <servlet-mapping>
                <servlet-name>XFireServlet</servlet-name>
                <url-pattern>/services/*</url-pattern>
        </servlet-mapping>

</web-app>

my services.xml:
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0";>

        <bean id="wscadastro" 
class="br.gov.capes.cadastro.wscadastro.WSCadastroImpl"/>

        <service>
                <serviceBean>#wscadastro</serviceBean>
                <!--  serviceFactory>jsr181</serviceFactory -->
                <serviceFactory>#jaxbServiceFactory</serviceFactory>
                <properties>
                        <property key="mtom-enabled">true</property>
                </properties>
        </service>
        
        <bean name="jaxbServiceFactory"
class="org.codehaus.xfire.jaxb2.JaxbServiceFactory">
        <constructor-arg ref="xfire.transportManager"/>
        </bean>
        
</beans>

Thanks in advance

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to