Hi all,

I'm trying to achieve a simple file transfert from a server to a client.

Here is some xFire service code and exception details:

Environment :

xFire 1.2.6
Java 1.5.0_10
Tomcat 5.5

Service Implementation code:
public class DiffusionFichiersServiceImpl implements DiffusionFichiersService{


  public DiffusionFichiersServiceImpl() {
  }


  public FileDataSource tranfertFile(){
    FileDataSource m_fds = null;


    try {
        m_fds = new FileDataSource("c:\\\\ldap.txt");
    } catch (Throwable tr){
        System.out.println(tr.getMessage());
    }

    return m_fds;
  }

}

Here is a part of the soap message displayed into the Eclipse Web Service 
Explorer tool when I call the "tranfertFile" method:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
    <soap:Body>
        <ns1:tranfertFileResponse 
xmlns:ns1="http://wsDiffusionFichiers.cssmi.qc.ca";>
            <ns1:out>
                <contentType 
xmlns="http://activation.javax";>text/plain</contentType> 
                <file xmlns="http://activation.javax";>
                    <absolute xmlns="http://io.java";>true</absolute> 
                    <absoluteFile xmlns="http://io.java";>
                        <absolute>true</absolute> 
                        <absoluteFile>
                            <absolute>true</absolute> 
                            <absoluteFile>
                                <absolute>true</absolute> 
                                <absoluteFile>
                                    <absolute>true</absolute> 
                                    <absoluteFile>
                                          ... (until the exception shown in 
tomcat console)



Here is the exception retrieved from the tomcat output console:

java.lang.StackOverflowError
 at 
com.ctc.wstx.sw.BufferingXmlWriter.fastWriteRaw(BufferingXmlWriter.java:1080)
 at 
com.ctc.wstx.sw.BufferingXmlWriter.writeStartTagEnd(BufferingXmlWriter.java:713)
 at 
com.ctc.wstx.sw.BaseNsStreamWriter.closeStartElement(BaseNsStreamWriter.java:387)
 at 
com.ctc.wstx.sw.BaseNsStreamWriter.checkStartElement(BaseNsStreamWriter.java:436)
 at 
com.ctc.wstx.sw.SimpleNsStreamWriter.writeStartOrEmpty(SimpleNsStreamWriter.java:257)
 at 
com.ctc.wstx.sw.BaseNsStreamWriter.writeStartElement(BaseNsStreamWriter.java:318)
 at 
org.codehaus.xfire.aegis.stax.ElementWriter.writeStartElement(ElementWriter.java:116)
 at org.codehaus.xfire.aegis.stax.ElementWriter.<init>(ElementWriter.java:61)
 at 
org.codehaus.xfire.aegis.stax.ElementWriter.getElementWriter(ElementWriter.java:161)
 at org.codehaus.xfire.aegis.type.basic.BeanType.getWriter(BeanType.java:421)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:386)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
 at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
... (This line are repeated a lot of time before those lines)

Until now I've done some remote debuging to be sure that the FileDataSource is 
able to 
retrieve the file that the service have to transfer and all seem's to working 
well in the service code...

Does someone have any tips or tricks for me ?!?!??!?

Cheer's,

Simon Rousseau
CSSMI


Reply via email to