You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Aslak Gronflaten <as...@gmail.com> on 2007/01/04 03:19:12 UTC

Xerces xsd lookup in tapestry 5

Hi,

I've been playing with tapestry 5 a bit, and it's excellent. However,
due to our international line breaking down, accessing external
network resources is extremely slow to say the least. On every page
reload (if changed), parsing a tapestry 5 template (component or page)
that contains a reference to the tapestry namespace, takes a loooong
time, sometimes timing out. Seems xerces is trying to fetch the xsds
over the net. I've searched their FAQs, but it seems I need an
instance of the parser to switch validation off, so I'm wondering if
there is a way to do this in tapestry 5 without hacking the build.
This is the relevant part of the stacktrace I get:

java.net.UnknownHostException
Message:
    www.w3.org
Stack trace:
# java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
# java.net.Socket.connect(Socket.java:507)
# java.net.Socket.connect(Socket.java:457)
# sun.net.NetworkClient.doConnect(NetworkClient.java:157)
# sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
# sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
# sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
# sun.net.www.http.HttpClient.New(HttpClient.java:287)
# sun.net.www.http.HttpClient.New(HttpClient.java:299)
# sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:792)
# sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:744)
# sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:669)
# sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:913)
# java.net.URL.openStream(URL.java:1007)
# org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
# org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
# org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
# org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
# org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown
Source)
# org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
# org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
# org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
# org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
# org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
# org.apache.tapestry.internal.services.TemplateParserImpl.parseTemplate(TemplateParserImpl.java:161)

Thanks,
  Aslak

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Xerces xsd lookup in tapestry 5

Posted by Howard Lewis Ship <hl...@gmail.com>.
Just ran the tests (over 500 of them) on the current code with my network
unplugged; no problems.  I just switched the code over, yesterday, to use
XMLReader instead of SAXParser and based on your stack trace, you are
running the older version. Perhaps that's the difference.

On 1/3/07, Howard Lewis Ship <hl...@gmail.com> wrote:
>
> I'll look into this.  We should be intercepting requests for the XSD and
> supplying them locally.
>
> On 1/3/07, Aslak Gronflaten < aslakg@gmail.com> wrote:
> >
> > Hi,
> >
> > I've been playing with tapestry 5 a bit, and it's excellent. However,
> > due to our international line breaking down, accessing external
> > network resources is extremely slow to say the least. On every page
> > reload (if changed), parsing a tapestry 5 template (component or page)
> > that contains a reference to the tapestry namespace, takes a loooong
> > time, sometimes timing out. Seems xerces is trying to fetch the xsds
> > over the net. I've searched their FAQs, but it seems I need an
> > instance of the parser to switch validation off, so I'm wondering if
> > there is a way to do this in tapestry 5 without hacking the build.
> > This is the relevant part of the stacktrace I get:
> >
> > java.net.UnknownHostException
> > Message:
> >     www.w3.org
> > Stack trace:
> > # java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
> > # java.net.Socket.connect(Socket.java:507)
> > # java.net.Socket.connect(Socket.java:457)
> > # sun.net.NetworkClient.doConnect(NetworkClient.java :157)
> > # sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
> > # sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
> > # sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
> > # sun.net.www.http.HttpClient.New (HttpClient.java:287)
> > # sun.net.www.http.HttpClient.New(HttpClient.java:299)
> > # sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(
> > HttpURLConnection.java:792)
> > # sun.net.www.protocol.http.HttpURLConnection.plainConnect (
> > HttpURLConnection.java:744)
> > # sun.net.www.protocol.http.HttpURLConnection.connect(
> > HttpURLConnection.java:669)
> > # sun.net.www.protocol.http.HttpURLConnection.getInputStream(
> > HttpURLConnection.java:913)
> > # java.net.URL.openStream (URL.java:1007)
> > # org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
> > Source)
> > # org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
> > # org.apache.xerces.impl.XMLEntityManager.startDTDEntity (Unknown
> > Source)
> > # org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown
> > Source)
> > # org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch
> > (Unknown
> > Source)
> > # org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> > Source)
> > # org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> > # org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
> > # org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> > # org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> > # org.apache.tapestry.internal.services.TemplateParserImpl.parseTemplate
> > (TemplateParserImpl.java:161)
> >
> > Thanks,
> >   Aslak
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Howard M. Lewis Ship
> TWD Consulting, Inc.
> Independent J2EE / Open-Source Java Consultant
> Creator and PMC Chair, Apache Tapestry
> Creator, Apache HiveMind
>
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com




-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

Re: Xerces xsd lookup in tapestry 5

Posted by Howard Lewis Ship <hl...@gmail.com>.
I'll look into this.  We should be intercepting requests for the XSD and
supplying them locally.

On 1/3/07, Aslak Gronflaten <as...@gmail.com> wrote:
>
> Hi,
>
> I've been playing with tapestry 5 a bit, and it's excellent. However,
> due to our international line breaking down, accessing external
> network resources is extremely slow to say the least. On every page
> reload (if changed), parsing a tapestry 5 template (component or page)
> that contains a reference to the tapestry namespace, takes a loooong
> time, sometimes timing out. Seems xerces is trying to fetch the xsds
> over the net. I've searched their FAQs, but it seems I need an
> instance of the parser to switch validation off, so I'm wondering if
> there is a way to do this in tapestry 5 without hacking the build.
> This is the relevant part of the stacktrace I get:
>
> java.net.UnknownHostException
> Message:
>     www.w3.org
> Stack trace:
> # java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
> # java.net.Socket.connect(Socket.java:507)
> # java.net.Socket.connect(Socket.java:457)
> # sun.net.NetworkClient.doConnect(NetworkClient.java:157)
> # sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
> # sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
> # sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
> # sun.net.www.http.HttpClient.New(HttpClient.java:287)
> # sun.net.www.http.HttpClient.New(HttpClient.java:299)
> # sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(
> HttpURLConnection.java:792)
> # sun.net.www.protocol.http.HttpURLConnection.plainConnect(
> HttpURLConnection.java:744)
> # sun.net.www.protocol.http.HttpURLConnection.connect(
> HttpURLConnection.java:669)
> # sun.net.www.protocol.http.HttpURLConnection.getInputStream(
> HttpURLConnection.java:913)
> # java.net.URL.openStream(URL.java:1007)
> # org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
> Source)
> # org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
> # org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
> # org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
> # org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch
> (Unknown
> Source)
> # org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
> (Unknown
> Source)
> # org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> # org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
> # org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> # org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> # org.apache.tapestry.internal.services.TemplateParserImpl.parseTemplate(
> TemplateParserImpl.java:161)
>
> Thanks,
>   Aslak
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com