Seamus,

Remove this line in your mapping file:

<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version
  1.0//EN" "http://Castor.exolab.org/mapping.dtd";>


Or change the "http://castor.exolab.org/mapping.dtd"; to a dtd stored locally on your server.

The XML parser (most likely Xerces) is trying to fetch the DTD from exolab.org. There are two things wrong with that, the first is that exolab.org no longer exists, and the second is that you definately don't want you application depending on external servers.

--Keith

Seamus Malone wrote:
I'm doing this inside of JBoss...
I've read others having a similar problem... but it seemed to have to do with the classLoader needing to be defined. I've done that and made sure I'm able to read the file with the resouceLoader etc.

In my case the url definitely resolves to a file (the commented out section successfully prints out the file). I keep getting this error... connection timed out. If the file is able to be read why would the connection 'time out'? is this timing out on reading the mapping file or the .class?

find below: stack trace, java source, mapping.xml

thanks.
sm


17:55:22,203 INFO  [STDOUT] mapping exception
17:55:22,203 INFO  [STDOUT] Connection timed out: connect
17:55:22,203 INFO [STDOUT] at org.exolab.castor.xml.Unmarshaller.unmarshal(
Unmarshaller.java:666)
17:55:22,203 INFO [STDOUT] at org.exolab.castor.mapping.Mapping.loadMapping
Internal(Mapping.java:535)
17:55:22,203 INFO [STDOUT] at org.exolab.castor.mapping.Mapping.loadMapping
(Mapping.java:456)

InputStream is = getClass().getResourceAsStream("/WEB-INF/layout-mapping.xml");
       InputSource isx = new InputSource(is);
              /*
       // read out immediate response
       BufferedReader br = new BufferedReader(new InputStreamReader(is));
System.out.println("\n\n>>>>>>>>>>>> layout-mapping.xml >>>>>>>>>>>>>>>>>>>>");
       String response = null;
       try {
           while((response = br.readLine()) != null) {
               System.out.println(response);
           }
       } catch (IOException e3) {
           // TODO Auto-generated catch block
           e3.printStackTrace();
       }
       System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n");
       */

       Mapping  mapping = new Mapping(getClass().getClassLoader());
           try {
               mapping.loadMapping(isx);
             } catch (RuntimeException e1) {
                 System.out.println("runtime exception");
                 e1.printStackTrace();
             } catch (IOException e2) {
                 System.out.println("io exception");
                 e2.printStackTrace();
             } catch (MappingException e) {
                 System.out.println("mapping exception");
                 e.printStackTrace();
       }

I've reduced the mapping file to this and tried both full class path (com.linkify.ejb.session.item_manager.Layout) and just Layout
as the name...

<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://Castor.exolab.org/mapping.dtd";>

<mapping>
<description>item layout</description>
<class name="com.linkify.ejb.session.item_manager.Layout">
   <field name="name" type="string" />
   <field name="buttons" type="string" />
</class>
</mapping>



-------------------------------------------------
If you wish to unsubscribe from this list, please send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------




-------------------------------------------------
If you wish to unsubscribe from this list, please send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to