Hi,
has anybody successfully served svg images (not svg rendered as JPG or
PNG, this just works great!) to the IE using the FragmentGenerator? I
would really appreciate any information or code snippets about sitemap
setup and versions used (OS, JDK, Tomcat, Cocoon, Xalan).
After trying to fix what I though was a simple problem for 1.5 weeks I
have got no ideas on how to investigate anymore:
I am trying to serve a generated svg image as an svg file. The two
pipelines are basically:
FileGenerator
XSLT-Transformer to turn xml data into a xml document containing
Custom-Transformer for calling GraphViz to create SVG elements
in xml document
XSLT-Transformer
FragmentExtractor
XSLT-Tranformer
HTML-Serializer
FragmentGenerator
SVGXML-Serializer
All of this works fine when requesting the page using Netscape Navigator
(valid page and images, no errors in log file). As soon as I use the
Microsoft Internet Explorer to request the same page, the HTML page is
returned, but the svg image has not been served properly. According to
the log file there was a java.net.SocketException: Software caused
connection abort: socket write error (details included below), in
certain configurations I am receiving a NPE in DOMStreamer.stream
instead (details included below). As discussed in other threads
(http://marc.theaimsgroup.com/?l=xml-cocoon-devm=101994024218728w=2,
http://marc.theaimsgroup.com/?l=xml-cocoon-usersm=103907382827236w=2),
this looks like IE requesting the svg twice and aborting the first
request causing the trouble. Is the FragmentExtractor able to handle
this, if the serializer is not JPG or PNG?
I am using WinXP and have tried various configurations:
-cocoon (2.0.3, 2.0.4),
-Tomcat (4.1.24, 4.1.18)
-JDK (1.4.0_02, 1.4.1_02)
-XALAN (2.3.1, 2.4.1, 2.5.1) and SAXON (6.5),
-incremental processing turned on and off.
Any hints, ideas on further research very much appreciated.
Thanks in advance,
Christian
- SOCKET WRITE ERROR -
FATAL_E (2003-05-28) 00:04.34:399 [core.xslt-processor]
(/eti/etimdb/imsds-graph/e920f-f56ba6b144--8000.svg)
Thread-10/TraxErrorHandler: java.net.SocketException: Software caused
connection abort: socket write error
javax.xml.transform.TransformerException: java.net.SocketException:
Software caused connection abort: socket write error
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.j
ava:690)
at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(Ele
mApplyTemplates.java:423)
at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates
.java:226)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Trans
formerImpl.java:2182)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Transfo
rmerImpl.java:2008)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerIm
pl.java:1171)
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:31
35)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.net.SocketException: Software caused connection abort:
socket write error
at
org.apache.xalan.serialize.SerializerToXML.outputLineSep(SerializerToXML
.java:199)
at
org.apache.xalan.serialize.SerializerToXML.indent(SerializerToXML.java:2
308)
at
org.apache.xalan.serialize.SerializerToHTML.startElement(SerializerToHTM
L.java:630)
at
org.apache.xalan.transformer.TransformerIdentityImpl.startElement(Transf
ormerIdentityImpl.java:1017)
at
org.apache.cocoon.xml.AbstractXMLPipe.startElement(AbstractXMLPipe.java:
130)
at
org.apache.cocoon.serialization.AbstractTextSerializer$NamespaceAsAttrib
utes.startElement(AbstractTextSerializer.java:486)
at
org.apache.cocoon.xml.AbstractXMLPipe.startElement(AbstractXMLPipe.java:
130)
at
org.apache.xalan.transformer.ResultTreeHandler.flushElem(ResultTreeHandl
er.java:856)
at
org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHa
ndler.java:931)
at
org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHand
ler.java:306)
at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.j
ava:684)
... 7 more
-
java.net.SocketException: Software caused connection abort: socket write
error
at
org.apache.xalan.serialize.SerializerToXML.outputLineSep(SerializerToXML
.java:199)
at
org.apache.xalan.serialize.SerializerToXML.indent(SerializerToXML.java:2
308)
at
org.apache.xalan.serialize.SerializerToHTML.startElement(SerializerToHTM
L.java:630)
at
org.apache.xalan.transformer.TransformerIdentityImpl.startElement(Transf
ormerIdentityImpl.java:1017)
at
org.apache.cocoon.xml.AbstractXMLPipe.startElement(AbstractXMLPipe.java:
130)
at