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
