Serializing XML documents throws AIOOBE
I have a bunch of XMLDocuments that are generated from Forms modules with the Forms2XML.dumpModule but when I try to serialize the collection through and ObjectOutputStream, I end up with a
java.lang.ArrayIndexOutOfBoundsException: 16388
at oracle.xml.comp.CXMLStream.writeUTF(CXMLStream.java:638)
at oracle.xml.parser.v2.XMLAttr.writeExternal(XMLAttr.java:834)
at oracle.xml.parser.v2.XMLElement.writeExternal(XMLElement.java:2333)
at oracle.xml.parser.v2.XMLElement.writeExternal(XMLElement.java:2355)
at oracle.xml.parser.v2.XMLElement.writeExternal(XMLElement.java:2355)
at oracle.xml.parser.v2.XMLDocument.writeExternal(XMLDocument.java:2746)
at oracle.xml.parser.v2.XMLDocument.writeExternal(XMLDocument.java:2678)
My guess is that some stuff nested in XMLDocument implement the java.io.Externalizable interface and tries to do stuff itself and fails.
When I look at the generated XML, it shows that the encoding is "UTF-8" but there are unencoded ISO-8859-1 chars in the doc so it could be what the writeUTF is complaing about? Is there some way of mangling the document to the correct encoding or other applicable magic?
Hello,
Did you managed to solve this problem ? I'm getting the same error if i try to load an xml in a queue using oracle OJMS.
Replacing the xmlparserv2.jar by the one from oc4j v 10.1.3 solved the problem, but this is not supported in a production environmen.
grtz,
Chris.
Similar Messages
-
Serializing XML Documents(not Java Serialization)
Hi,
Iam looking for a class that can serialize the XML documents.
Heres the problem in detail:
- I need to create an XML String from scratch taking data from a database.
- I created the XML Document adding the childs and attributes.
- I need an XML string from the document. Iam not exactly sure how to do this. But Apache Xerces package provides an XMLSerializer class where we can convert the document into a string.
Is there any functionality provided. If so where can i find it.
Thanks,
-RaoNot sure if this is a bug or not (filing one just in case it is) but the following program demonstrates that with 2.0.2.9 the internal subset is serialized correctly if the document was parsed with validationMode set to true. If set to false only the entities show up in the internal subset.
package xmlbugs;
import java.io.*;
import org.w3c.dom.*;
import oracle.xml.parser.v2.*;
public class TestSerializeLocalSubset {
private static final String xml =
"<?xml version='1.0' encoding='UTF-8'?>"+
"<!DOCTYPE bar ["+
"<!ENTITY bar 'baz'>"+
"<!ELEMENT foo EMPTY >"+
"<!ELEMENT bar (foo) >"+
"]>"+
"<bar><foo/></bar>";
public static void main(String[] a_ ) throws Exception {
System.out.println("Test with parser in validation mode = false");
DOMParser d = new DOMParser();
d.setPreserveWhitespace(false);
d.setValidationMode(false);
d.parse( new StringReader(xml));
Document x = d.getDocument();
XMLDocument xx = (XMLDocument) x;
xx.print(System.out);
System.out.println("Test with parser in validation mode = true");
DOMParser d2 = new DOMParser();
d2.setPreserveWhitespace(false);
d2.setValidationMode(true);
d2.parse( new StringReader(xml));
x = d2.getDocument();
xx = (XMLDocument) x;
xx.print(System.out);
} -
Error serializing XML document.
We are trying to serialize XML document using Oracle XML Parser (9.2.0.5.0).
Here is the code used for serialization
public static void write(Document doc, File resultFile) {
try {
// Create a TransformerFactory
TransformerFactory transformerFactory = TransformerFactory.newInstance();
// Create a new Transformer for Identity Transformation
Transformer transformer = transformerFactory.newTransformer();
// Make passed document the DOM source
DOMSource source = new DOMSource(doc);
// Make result file the Stream Result
StreamResult result = new StreamResult(new FileOutputStream(resultFile));
// Write the document by means of Identity Transformation
transformer.transform(source, result);
} catch (Exception exc) {
exc.printStackTrace();
Document to be serialized
test.xml
<?xml version="1.0"?>
<!DOCTYPE test SYSTEM "test.dtd">
<!-- This is a comment -->
<Test>
<TestElement>Test Data</TestElement>
</Test>
test.dtd
<!-- DTD -->
<!ELEMENT Test (TestElement)>
<!ELEMENT TestElement (#PCDATA)>
The serialized document looked like
<?xml version = '1.0'?>
<?#comment This is a comment ?><Test>
<TestElement>Test Data</TestElement>
</Test>
First of all the DOCTYPE declaration was not present in the serialized document.
Secondly the comments appeared in a wrong way, which even made it an invalid XML document.
How do we get this to work?
Thanks
SagarOn 9.2.0.3.0 you can try dbms_xdb.deleteResource(Path,4)
-
Hello, I recently downloaded the Java XML Pack, which uses the Xerces2 XML Parser. A couple of questions with regards to serializing an XML document to a file:
1) Xerces1 used the org.apache.xml.serialize.* classes to do serialization (such as shown below), but I don't see them in the Xerces2 API. Which packages take over for these in Xerces2?
import org.apache.xml.serialize.Serializer;
import org.apache.xml.serialize.SerializerFactory;
import org.apache.xml.serialize.XMLSerializer;
2) If we use the JAXP wrapper functionality to serialize instead, is the javax.xml.transform package the standard way to do this in 1.2?--from the examples I've seen searching this forum, this appears to be the case.
Thanks,
GlenIf you want to output your XML to a file, say, then yes the Transformer is the way to do it now. Don't know why they did that, it's far from intuitively obvious.
-
Exchange XML document containing serialized DDIC objects
Hi,
Suppose you have an itab "z_table" with generic linetype. The table may contain any ddic structure or table.
Furhter you want to exchange the itab "z_table" between the Systems A and B using XML.
We are using the following code to serialize the itab "z_table" in system A:
DATA: g_ixml TYPE REF TO if_ixml,
g_stream_factory TYPE REF TO if_ixml_stream_factory,
g_encoding TYPE REF TO if_ixml_encoding,
ostream TYPE REF TO if_ixml_ostream.
CONSTANTS: encoding TYPE string VALUE 'utf-8'.
g_ixml = cl_ixml=>create( ).
g_stream_factory = g_ixml->create_stream_factory( ).
g_encoding = g_ixml->create_encoding(
character_set = encoding
byte_order = 0 ).
ostream = g_stream_factory->create_ostream_xstring( string = ex_xml_string ).
ostream->set_encoding( encoding = g_encoding ).
CALL TRANSFORMATION id_indent
SOURCE z_table = z_table
RESULT XML xml_string
OPTIONS data_refs = 'heap'
xml_header = 'full'.
And the following code to deserialize the itab in system B:
CALL TRANSFORMATION id_indent
SOURCE XML xml_string
RESULT z_table = z_table.
The serialization in System A creates an XML document containing <dic:z_structure> tags. If you now try to deserialize this document ("z_table")
in System B, the deserialization fails in case z_table contains DDIC structures which are not known in system B.
Is there any way to have the definition (e.g. type + length) of those ddic structures included in the XML document, so that
a deserialization is possible even if the ddic structure is not known in system B? e.g. Rendered into a XML scheme, or directly as an
attribute into the <dic:..> tag for instance?
Any ideas are appreciated..
Best regards,
GeorgHello Raja,
many thanks first for your answer. I tried the FM and got a table with the definition details I want.
Unfortunately, I'm not really sure, how to continue working with the definition details. There are still some questions open:
- How do I proficient include these table details into my xml with my original table z_table? Would it be possible to include the table details in a way, that a "call transformation" can easily deserialize my z_table with this table details?
- How do I convert the lt_dfies table definition details back to a ddic object that I can use? Can this be done in memory only, so that I don't have to create real ddic objects on the target system?
Many thanks and kind regards, Oliver<b></b><b></b> -
Heap space error while creating XML document from Resultset
I am getting Heap space error while creating XML document from Resultset.
It was working fine from small result set object but when the size of resultset was more than 25,000, heap space error
I am already using -Xms32m -Xmx1024m
Is there a way to directly write to xml file from resultset instead of creating the whole document first and then writing it to file? Code examples please?
here is my code:
stmt = conn.prepareStatement(sql);
result = stmt.executeQuery();
result.setFetchSize(999);
Document doc = JDBCUtil.toDocument(result, Application.BANK_ID, interfaceType, Application.VERSION);
JDBCUtil.write(doc, fileName);
public static Document toDocument(ResultSet rs, String bankId, String interfaceFileType, String version)
throws ParserConfigurationException, SQLException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element results = doc.createElement("sims");
results.setAttribute("bank", bankId);
results.setAttribute("record_type", "HEADER");
results.setAttribute("file_type", interfaceFileType);
results.setAttribute("version", version);
doc.appendChild(results);
ResultSetMetaData rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
String columnName="";
Object value;
while (rs.next()) {
Element row = doc.createElement("rec");
results.appendChild(row);
for (int i = 1; i <= colCount; i++) {
columnName = rsmd.getColumnLabel(i);
value = rs.getObject(i);
Element node = doc.createElement(columnName);
if(value != null)
node.appendChild(doc.createTextNode(value.toString()));
else
node.appendChild(doc.createTextNode(""));
row.appendChild(node);
return doc;
public static void write(Document document, String filename) {
//long start = System.currentTimeMillis();
// lets write to a file
OutputFormat format = new OutputFormat(document); // Serialize DOM
format.setIndent(2);
format.setLineSeparator(System.getProperty("line.separator"));
format.setLineWidth(80);
try {
FileWriter writer = new FileWriter(filename);
BufferedWriter buf = new BufferedWriter(writer);
XMLSerializer FileSerial = new XMLSerializer(writer, format);
FileSerial.asDOMSerializer(); // As a DOM Serializer
FileSerial.serialize(document);
writer.close();
} catch (IOException ioe) {
ioe.printStackTrace();
//long end = System.currentTimeMillis();
//System.err.println("W3C File write time :" + (end - start) + " " + filename);
}you can increase your heap size..... try setting this as your environment variable.....
variable: JAVA_OPTS
value: -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -
ClassCastException while creating an XML document in servlet
HI,
I am trying to create an XML document in a servlet and I am getting ClassCastException at runtime when casting org.w3c.dom.document to org.apache.crimson.tree.XmlDocument . I am using Tomcat 4.1
The same code is working fine when executed in a stand alone java program
Can anyone please help me in trying to solve this problem. I require it urgently.
The following is my code:
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.crimson.tree.XmlDocument;
public class test{
public void createxml (String username) throws Exception
Document doc=null;
DocumentBuilderFactory dbf=null;
DocumentBuilder db=null;
Element root=null;
Element poline=null;
org.apache.crimson.tree.XmlDocument xmldoc=null;
FileOutputStream fos=null;
dbf = DocumentBuilderFactory.newInstance ();
db = dbf.newDocumentBuilder ();
doc = db.newDocument ();
root = doc.createElement ("album");
doc.appendChild (root);
poline= doc.createElement("album-name");
root.appendChild(poline);
//I am getting the ClassCastException in this statement
xmldoc = (XmlDocument) doc;
fos = new java.io.FileOutputStream("xyz.xml");
xmldoc.write(fos);
fos.close();
}I am not too much of an expert on this issue, but I did a search. Maybe this page can help or point you in the right direction.
http://www.jspwiki.org/Wiki.jsp?page=A2AClassCastException
I hope this helps. -
Parseing an XML Document as a String
Hi all,
i am trying to parse an XML document to a parser. I get the file as a request parameter, which is filled in to at String variable.
But for some reason i get an SAXException, does anyone se the problem?
Thank you for your help...
Below is the code
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.text.*;
import java.net.*;
import java.net.URL;
import java.sql.*;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import javax.xml.parsers.*;
import javax.xml.transform.stream.StreamSource;
public class StartServlet extends HttpServlet
private boolean debug = true;
private final static String CONTENT = "content";
private final static String COOKIES = "cookies";
String resp = new String();
private static String NODE_TYPES[] = new String[] {
"ELEMENT",
"ATTRIBUTE",
"TEXT",
"CDATA_SECTION",
"ENTITY_REFERENCE",
"ENTITY",
"PROCESSING_INSTRUCTION",
"COMMENT",
"DOCUMENT",
"DOCUMENT_TYPE",
"DOCUMENT_FRAGMENT",
"NOTATION" };
public static void println(String s, int indent) {
for(int i = 0 ; i < indent; i++) {
System.out.println(" ");
System.out.println(s);
public static void println(String s) {
System.out.println(s);
public static void print(Node node){
printImpl(node, 0);
public static void printImpl(Node node, int indent){
if(node == null) {
return;
String nodeType = NODE_TYPES[node.getNodeType()];
String nodeName = node.getNodeName();
String nodeValue = node.getNodeValue();
if(nodeValue != null) {
nodeValue = nodeValue.trim();
if(nodeType.equals("TEXT") && nodeValue.equals("")) {
; //Ignore emty node
else {
println(nodeType + " - " + nodeName + " - " + nodeValue, indent);
NamedNodeMap attributes = node.getAttributes();
if (attributes != null) {
for(int i = 0; i < attributes.getLength(); i++) {
printImpl(attributes.item(i), indent + 1);
NodeList children = node.getChildNodes();
if(children != null) {
for(int i = 0; i < children.getLength(); i++){
printImpl(children.item(i), indent + 1);
public static DocumentBuilder newBuilder(boolean validation)
throws ParserConfigurationException {
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setValidating(validation);
domFactory.setNamespaceAware(true);
DocumentBuilder domBuilder = domFactory.newDocumentBuilder();
//domBuilder.setErrorHandler(new PrintErrorHandler());
return domBuilder;
public static Document newDocument()
throws ParserConfigurationException{
DocumentBuilder domBuilder = newBuilder(false);
Document document = domBuilder.newDocument();
return document;
public static Document parse( String xml, boolean validation)
throws ParserConfigurationException, IOException, SAXException {
DocumentBuilder domBuilder = newBuilder(validation);
Document document = domBuilder.parse(xml);
return document;
public void init() {
public void service( javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) {
String[] cookies = null;
try{
Hashtable document = getDocument("http://.../first.xml", cookies);
resp = (String) document.get(CONTENT);
debug(resp);
print(parse(resp, false));
catch (SAXParseException e){
System.out.println("Saxfejl");
//System.exit(1);
catch (Exception e){
e.printStackTrace();
System.exit(1);
public void debug(String msg) {
if(debug) {
System.out.println(msg);
public void performTask(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) {
try
// Insert user code from here.
catch(Throwable theException)
// uncomment the following line when unexpected exceptions
// are occuring to aid in debugging the problem.
//theException.printStackTrace();
public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
performTask(request, response);
public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
performTask(request, response);
private Hashtable getDocument(String urlCode, String[] oldCookies) {
Hashtable document = new Hashtable();
HttpURLConnection http = null;
try {
URL httpURL = new URL(urlCode);
// If HTTP Protocol, then open connection using the Request method indicated
URLConnection conn = httpURL.openConnection();
http = (HttpURLConnection) conn;
//http.setRequestMethod("GET");
http.setDoInput(true);
http.setDoOutput(true);
http.setUseCaches(false);
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
if (oldCookies != null) {
for (int j = 0; j < oldCookies.length; j++) {
String cookie = oldCookies[j];
http.setRequestProperty("Cookie", cookie);
http.connect();
http.getContent();
StringBuffer tsb = new StringBuffer("");
if (http.getResponseCode() == 200) {
InputStream cis = http.getInputStream();
byte[] a = new byte[1024];
int n = cis.read(a);
while (n >= 0) {
tsb.append(new String(a, 0, n));
n = cis.read(a);
cis.close();
document.put(CONTENT, tsb.toString());
String[] cookies = null;
if (cookies == null) {
int headerFieldIndex = 0;
String headerFieldValue = http.getHeaderField(headerFieldIndex);
Vector cookieValues = new Vector();
while (headerFieldValue != null) {
String headerFieldName = http.getHeaderFieldKey(headerFieldIndex);
if ((headerFieldName != null) && headerFieldName.toLowerCase().equals("set-cookie")) {
int index = headerFieldValue.indexOf(";");
if (index > -1) {
headerFieldValue = headerFieldValue.substring(0, index);
cookieValues.addElement(headerFieldValue);
headerFieldValue = http.getHeaderField(++headerFieldIndex);
cookies = new String[cookieValues.size()];
cookieValues.copyInto(cookies);
document.put(COOKIES, cookies);
catch (Exception e) {
debug("url problem" + e);
finally {
if (http != null) {
http.disconnect();
return document;
}Hi,
Use this code it will helpful to you.
resultXMLDocument=(XmlDocument)documentDoc;
StringWriter sw = new StringWriter();
resultXMLDocument.write((Writer) sw);
xmlString=sw.toString();
thnaks,
suneel -
Xml document validation using Schema
I want to validate XML Document using XML Schema...
does any body have an idea how to do it.
Every time i m running my java file by using different XML FILE AND XSD FILE in command line i m getting same error.
error is:
Exception in thread "main" org.xml.sax.SAXException: Error: URI=null Line=2: s4s-elt-schema-ns: The namespace of element 'catalog' must be from the schema name space.
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1115)
at SAXLocalNameCount.main(SAXLocalNameCount.java:117)
Below is my java code with xml file and schema file.
plz get back to me as soon as possible it is urgent.
thanx
java File
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.util.*;
import java.io.*;
public class SAXLocalNameCount extends DefaultHandler {
/** Constants used for JAXP 1.2 */
static final String JAXP_SCHEMA_LANGUAGE =
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";
static final String W3C_XML_SCHEMA =
"http://www.w3.org/2001/XMLSchema";
static final String JAXP_SCHEMA_SOURCE =
"http://java.sun.com/xml/jaxp/properties/schemaSource";
/** A Hashtable with tag names as keys and Integers as values */
private Hashtable tags;
// Parser calls this once at the beginning of a document
public void startDocument() throws SAXException {
tags = new Hashtable();
// Parser calls this for each element in a document
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts)
throws SAXException
String key = localName;
Object value = tags.get(key);
if (value == null) {
// Add a new entry
tags.put(key, new Integer(1));
} else {
// Get the current count and increment it
int count = ((Integer)value).intValue();
count++;
tags.put(key, new Integer(count));
System.out.println("TOTAL NUMBER OF TAG IN FILE = "+count);
// Parser calls this once after parsing a document
public void endDocument() throws SAXException {
Enumeration e = tags.keys();
while (e.hasMoreElements()) {
String tag = (String)e.nextElement();
int count = ((Integer)tags.get(tag)).intValue();
System.out.println("Local Name \"" + tag + "\" occurs " + count
+ " times");
static public void main(String[] args) throws Exception {
String filename = null;
String schemaSource = null;
// Parse arguments
schemaSource = args[0];
filename = args[1];
// Create a JAXP SAXParserFactory and configure it
SAXParserFactory spf = SAXParserFactory.newInstance();
// Set namespaceAware to true to get a parser that corresponds to
// the default SAX2 namespace feature setting. This is necessary
// because the default value from JAXP 1.0 was defined to be false.
//spf.setNamespaceAware(true);
// Validation part 1: set whether validation is on
spf.setValidating(true);
// Create a JAXP SAXParser
SAXParser saxParser = spf.newSAXParser();
System.out.println(" saxparser "+saxParser);
// Validation part 2a: set the schema language if necessary
if (true) {
try {
saxParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
System.out.println(" saxparser ");
} catch (SAXNotRecognizedException x) {
// This can happen if the parser does not support JAXP 1.2
System.err.println(
"Error: JAXP SAXParser property not recognized: "
+ JAXP_SCHEMA_LANGUAGE);
System.err.println(
"Check to see if parser conforms to JAXP 1.2 spec.");
System.exit(1);
// Validation part 2b: Set the schema source, if any. See the JAXP
// 1.2 maintenance update specification for more complex usages of
// this feature.
if (schemaSource != null) {
saxParser.setProperty(JAXP_SCHEMA_SOURCE, new File(schemaSource));
System.out.println(" saxparser 123");
// Get the encapsulated SAX XMLReader
XMLReader xmlReader = saxParser.getXMLReader();
System.out.println(" XML READER "+xmlReader);
// Set the ContentHandler of the XMLReader
xmlReader.setContentHandler(new SAXLocalNameCount());
System.out.println(" XML READER 345 ");
// Set an ErrorHandler before parsing
xmlReader.setErrorHandler(new MyErrorHandler(System.err));
System.out.println(" XML READER 67878 ");
// Tell the XMLReader to parse the XML document
xmlReader.parse(filename);
System.out.println(" XML READER ");
// Error handler to report errors and warnings
private static class MyErrorHandler implements ErrorHandler {
/** Error handler output goes here */
private PrintStream out;
MyErrorHandler(PrintStream out) {
this.out = out;
* Returns a string describing parse exception details
private String getParseExceptionInfo(SAXParseException spe) {
String systemId = spe.getSystemId();
if (systemId == null) {
systemId = "null";
String info = "URI=" + systemId +
" Line=" + spe.getLineNumber() +
": " + spe.getMessage();
return info;
// The following methods are standard SAX ErrorHandler methods.
// See SAX documentation for more info.
public void warning(SAXParseException spe) throws SAXException {
out.println("Warning: " + getParseExceptionInfo(spe));
public void error(SAXParseException spe) throws SAXException {
String message = "Error: " + getParseExceptionInfo(spe);
throw new SAXException(message);
public void fatalError(SAXParseException spe) throws SAXException {
String message = "Fatal Error: " + getParseExceptionInfo(spe);
throw new SAXException(message);
xml file(books.xml)
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
<book id="bk103">
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
<description>After the collapse of a nanotechnology
society in England, the young survivors lay the
foundation for a new society.</description>
</book>
<book id="bk104">
<author>Corets, Eva</author>
<title>Oberon's Legacy</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2001-03-10</publish_date>
<description>In post-apocalypse England, the mysterious
agent known only as Oberon helps to create a new life
for the inhabitants of London. Sequel to Maeve
Ascendant.</description>
</book>
<book id="bk105">
<author>Corets, Eva</author>
<title>The Sundered Grail</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2001-09-10</publish_date>
<description>The two daughters of Maeve, half-sisters,
battle one another for control of England. Sequel to
Oberon's Legacy.</description>
</book>
<book id="bk106">
<author>Randall, Cynthia</author>
<title>Lover Birds</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2000-09-02</publish_date>
<description>When Carla meets Paul at an ornithology
conference, tempers fly as feathers get ruffled.</description>
</book>
<book id="bk107">
<author>Thurman, Paula</author>
<title>Splish Splash</title>
<genre>Romance</genre>
<price>4.95</price>
<publish_date>2000-11-02</publish_date>
<description>A deep sea diver finds true love twenty
thousand leagues beneath the sea.</description>
</book>
<book id="bk108">
<author>Knorr, Stefan</author>
<title>Creepy Crawlies</title>
<genre>Horror</genre>
<price>4.95</price>
<publish_date>2000-12-06</publish_date>
<description>An anthology of horror stories about roaches,
centipedes, scorpions and other insects.</description>
</book>
<book id="bk109">
<author>Kress, Peter</author>
<title>Paradox Lost</title>
<genre>Science Fiction</genre>
<price>6.95</price>
<publish_date>2000-11-02</publish_date>
<description>After an inadvertant trip through a Heisenberg
Uncertainty Device, James Salway discovers the problems
of being quantum.</description>
</book>
<book id="bk110">
<author>O'Brien, Tim</author>
<title>Microsoft .NET: The Programming Bible</title>
<genre>Computer</genre>
<price>36.95</price>
<publish_date>2000-12-09</publish_date>
<description>Microsoft's .NET initiative is explored in
detail in this deep programmer's reference.</description>
</book>
<book id="bk111">
<author>O'Brien, Tim</author>
<title>MSXML3: A Comprehensive Guide</title>
<genre>Computer</genre>
<price>36.95</price>
<publish_date>2000-12-01</publish_date>
<description>The Microsoft MSXML3 parser is covered in
detail, with attention to XML DOM interfaces, XSLT processing,
SAX and more.</description>
</book>
<book id="bk112">
<author>Galos, Mike</author>
<title>Visual Studio 7: A Comprehensive Guide</title>
<genre>Computer</genre>
<price>49.95</price>
<publish_date>2001-04-16</publish_date>
<description>Microsoft Visual Studio 7 is explored in depth,
looking at how Visual Basic, Visual C++, C#, and ASP+ are
integrated into a comprehensive development
environment.</description>
</book>
</catalog>
(books.xsd)
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="catalog">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="book" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="genre" type="xsd:string"/>
<xsd:element name="price" type="xsd:float"/>
<xsd:element name="publish_date" type="xsd:date"/>
<xsd:element name="description" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>Add xmlns:xsi attribute to the root element <catalog>.
<catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='books.xsd'> -
Webservices: returning xml document to client
Can anyone please help me to the following problem.
1. I have a java bean which i publish as webservice. I want to return an xml document on request from client(for time being my client is normal java client). when i call getDoc() from client i get classload exception. can anyone explain me why?
public org.w3c.dom.Document getDoc() throws java.rmi.RemoteException {
Document document = null;
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse( new File("C:\\data\\RND\\XmlParser\\XmlParser\\src\\xmlparser\\employer.xml"));
catch (Exception ex) {
return document;
2. if i have to send a xml file to clinet on request using web services(i assume i cant return an document as above), is it feasible(my xml file is a transaction file) to send a xml file as string?
3. how to transfer a xml file into a string?I'm almost sure that the error is because the Document class is not supported by JAX-RPC (see page 384 of the Java Web Services Tutorial).
Try sending your XML as a String.
This code may help you to transform between XML and String and viceversa:
import javax.xml.parsers.*;
import javax.xml.transform.*;
import org.xml.sax.*;
import org.w3c.dom.*;
public static Document toXmlDocument(String xml) throws IOException, SAXException, ParserConfigurationException
StringReader reader = new StringReader(xml);
InputSource source = new InputSource(reader);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document xmlDoc = builder.parse(source);
return ( xmlDoc );
public static String toXmlString(Node node) throws TransformerConfigurationException, TransformerException
StringWriter writer = new StringWriter();
DOMSource source = new DOMSource(node);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
StreamResult result = new StreamResult(writer);
transformer.transform(source,result);
return ( writer.toString() );
} -
How to parse multiple xml documents from single buffer
Hello,
I am trying to use jaxb 2.0 to parse a buffer which contains multiple xml documents. However, it seems that it is meant to only parse a single document at a time and throws an exception when it gets to the 2nd document.
Is there a way I can tell jaxb to only parse the first complete document and not fetch the next one out of the buffer? Or what is the most efficient way to separate the buffer into two documents without parsing it manually. If I have to search the buffer for the next document root and then split the buffer, it seems like that defeats the purpose of using jaxb as the parser.
I am using the Unmarshaller.unmarshall method and the exception I am getting is:
org.xml.sax.SAXParseException: Illegal character at end of document, <.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:476)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:198)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:167)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
Thank you for your helpIt's just like any other XML parser, it's only designed to parse one XML document. If you have something that concatenates two XML documents together (that's what your "buffer" sounds like), then stop doing that.
-
Hi
I am new to this particular forum. I had some query regarding embedding XSL .
Can we embedd the XSL stylesheet in the XML document itself.
I searched this forum and got some similar queries but the output isn't working. Can anyone put a working example.
I have got the following XSL stylesheet:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<body>
<table border="1" width="100%" cellpadding="1">
<tr bgcolor="#FFFF99">
<th style="font-family:arial unicode ms;font-size:100%" align="center">Serial number </th>
<th style="font-family:arial unicode ms;font-size:100%" align="center">Site number </th>
</tr>
<xsl:for-each select="Master/RECORD">
<xsl:if test="SR_NO > 0">
<tr>
<td style="font-family:arial unicode ms;font-size:80%" align="right"><xsl:value-of select="SR_NO"/></td>
<td style="font-family:arial unicode ms;font-size:80%" align="right"><xsl:value-of select="ACR_SNO"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</xsl:template>
</xsl:stylesheet>
The XML document is as below:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="archivingmaster.xsl"?>
<Master>
<RECORD>
<SR_NO>1</SR_NO>
<ACRSNO>1</ACR_SNO>
</RECORD>
<RECORD>
<SR_NO>2</SR_NO>
<ACRSNO>2</ACR_SNO>
</RECORD>
</Master>
Thanks in advance
Ameya.I have already gone through that link and searched for this on the net. But it doesn't seem to work on my Mozilla Firefox browser.
Can anybody put a working example if possible.
Thanks
Ameya. -
Validating a xml document via dtd or xml schema
hi.
i am trying to validate a xml document's structure via dtd or xml schema. unfortunately i dont have a clue how to do this. although i read some documents about it i didnt find a way to it yet.
i am using dom4j to build a org.dom4j.Document from a String.
my expectations were like this:
- read data into string
- create org.dom4j.Document from a string
- after successfully creating the document calling document.validate(xmlSchema) throwing a ParseException (or something like this when the xml doesnt meet the requirements given by the schema)
please help!Class org.dom4j.Document does not have a validate() method.
-
XML document must have a top level element. Error processing resource
Hi,
I am trying to send a XML file to a web browser from a servlet. I read the contents of the XML file into a string and I am sending it to the brower. Before I do this I set the 'Content-type' header of the httpResponse to "application/xml" . Embedded in the XML file is an xml-stylesheet elemetn indicating which *.xsl stylesheet to use to parse the XML content.
I get the following error:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
XML document must have a top level element. Error processing resource 'http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
Now, if I take the stylesheet element out of the XML string I sent, then the browser stores the content into and *.xml file. I manually run the "xml-to-xsl " stylesheet mentioned in the error output above, and there is no problem, the xml content gets successfully transformed in a viewable HTML .
It is only when I embed the "stylesheet" element into the XML content that I get this error.
So the browser is receiveing valid XML.
I am not sure if the above error is complaining about the XML content I send or the stylesshet .
Does anyone have an idea of what am I doing wrong?
For your information here are my servlet code and the XML file:
servlet:-
package webapps.testReplyingXML;
import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileReader;
import java.util.Enumeration;
import java.util.StringTokenizer;
import java.io.PrintWriter;
public class ReplyXML extends HttpServlet {
static int transactionCount = 0;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException ,IOException {
String Q_PARAM = "query";
String requestString = req.getQueryString();
for ( Enumeration en = req.getParameterNames() ; en.hasMoreElements() ; )
String k = (String)en.nextElement() ;
String[] x = req.getParameterValues(k) ;
String s = null;
String DATA_PARAM= "";
for(int i = 0 ; i < x.length ; i++ )
s = x[i] ;
//System.out.println("s = " + s);
if (k.equals("query")){
try {
//res.setHeader("Content-Type", "application/xml");
//res.setHeader("Transfer-Encoding", "chunked");
//res.setHeader("Cache-Control", "no-cache");
//res.setHeader("Server", "Jetty/5.1.10");
//res.setHeader("Pragma", "no-cache");
//res.setHeader("X-Joseki-Server", "Joseki-3.0-dev");
res.setStatus(res.SC_OK);
StringBuffer fileData = new StringBuffer(1000);
BufferedReader reader = new BufferedReader(new FileReader("sparql_results.xml"));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
buf = new char[1024];
reader.close();
String xmlMsg= fileData.toString();
System.out.println("XMLMSG= " + xmlMsg);
PrintWriter outresp = res.getWriter();
outresp.println(xmlMsg);
outresp.close();
}catch (Exception e) {
e.printStackTrace();
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
doGet(req, res);
XML FILE:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xml-to-html.xsl"?>
<sparql
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xs="http://www.w3.org/2001/XMLSchema#"
xmlns="http://www.w3.org/2005/sparql-results#" >
<head>
<variable name="book"/>
<variable name="title"/>
</head>
<results ordered="false" distinct="false">
<result>
<binding name="book">
<uri>http://example.org/book/book6</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Half-Blood Prince</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book5</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Order of the Phoenix</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book4</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Goblet of Fire</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book3</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Prisoner Of Azkaban</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book2</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Chamber of Secrets</literal>
</binding>
</result>
<result>
<binding name="book">
<uri>http://example.org/book/book1</uri>
</binding>
<binding name="title">
<literal>Harry Potter and the Philosopher's Stone</literal>
</binding>
</result>
</results>
</sparql>Error processing resource http://127.0.0.1:8080/testReplyingXML/xml-to-html.xs...
Well, if one more character had been deleted from that message then you would have a problem. But as it is, the error message says there's an error processing a resouce whose name ends with "xml-to-html.xs" followed by something. That would be the stylesheet if I'm not mistaken. Most likely the browser can't find it at the URL mentioned in the error message. -
XML Document object access problem?
Hi,
I have created a servlet,which will call .sh file, which will call java application.........
this java application is working as a search engine,which will do search in the XML document object...........This is working fine when only one user run this servlet...........But when more than servlet do the same it is not working......... But once first servlet create the Document object,which is main source for serching..........then second servlet will work fine.......same thing with third servlet and so on...... I used the thread.sleep()/synchronize but it is not working...bcoz i am accessing the same application.....Then instead of servlet i tried to run the java application from the Dos prompt..........But i am facing the same problem......So pl guide me bcoz everything is working excluding this..........Becoz this document object creation is taking some time........ i am creating the object shown below
Document doc =parseXmlFile("Article.xml", false);
Element docElem = doc.getDocumentElement();
public static org.w3c.dom.Document parseXmlFile(String filename, boolean validating)
try {
// Create a builder factory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(validating);
// Create the builder and parse the file
// org.w3c.dom.Document doc = factory.newDocumentBuilder().parse(filename);
org.w3c.dom.Document doc = factory.newDocumentBuilder().parse(new File(filename));
return doc;
} catch (SAXException e) {
// A parsing error occurred; the xml input is not valid
} catch (ParserConfigurationException e) {
} catch (IOException e) {
return null;
}Hi,
This is my Servlet code..............
package PW.Feed;
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.StreamResult;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
public class PrintDom extends HttpServlet
Document doc;
Element docElem;
Connection Conn=null;
Statement stmt=null,stmt1=null;
ResultSet rs1=null,rs=null;
PrintWriter out;
Vector myVector1=new Vector();
Vector myVector2=new Vector();
String strSql="";
public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
res.setContentType("text/html");
out=res.getWriter();
try
String pubtype=req.getParameter("PubType");
String pubDate=req.getParameter("PubDate");
String toDate=req.getParameter("ToDate");
String fromDate=req.getParameter("FromDate");
if(pubDate==null)pubDate="2";
if(toDate==null)toDate="02/09/2005";
if(fromDate==null)fromDate="02/08/2005";
Class.forName("org.firebirdsql.jdbc.FBDriver");
Conn = DriverManager.getConnection("jdbc:firebirdsql:192.168.0.15/3050:D:/FBDatabases/PW1.GDB","SYSDBA","cohezia");
//Conn = DriverManager.getConnection("jdbc:firebirdsql:192.168.0.99/3050:/share/pw1.gdb","SYSDBA","cohezia");
stmt = Conn.createStatement( );
if(pubDate.equals("2"))
strSql="Select sh.ARTICLEID,sh.cuttingsdate,sh.READDATE,sh.headline,sh.SUMMARY,sh.AUTHOR,sh.PAGEFROM,sh.PUB_NAME,sh.READER_NAME,sh.PARENTTITLE,sh.CANMAIL,sh.PUBLICATION_ID,sh.JOURNALIST_ID,sh.ISPDF FROM SCANSHEADER sh,PUBLICATIONS p where sh.publication_id=p.publication_id and sh.readdate>'"+fromDate+"' and sh.readdate<'"+toDate+"' and p.pubtype='"+ pubtype +"' order by sh.ARTICLEID";
else
strSql="Select sh.ARTICLEID,sh.cuttingsdate,sh.READDATE,sh.headline,sh.SUMMARY,sh.AUTHOR,sh.PAGEFROM,sh.PUB_NAME,sh.READER_NAME,sh.PARENTTITLE,sh.CANMAIL,sh.PUBLICATION_ID,sh.JOURNALIST_ID,sh.ISPDF FROM SCANSHEADER sh,PUBLICATIONS p where sh.publication_id=p.publication_id and sh.cuttingsdate>'"+fromDate+"' and sh.cuttingsdate<'"+toDate+"' and p.pubtype='"+ pubtype +"' order by sh.ARTICLEID";
rs=stmt.executeQuery(strSql);
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
doc = builder.newDocument();
docElem = doc.createElement("RECORDLIST");
doc.appendChild(docElem);
Element rootElem = doc.createElement("RECORDS");
docElem.appendChild(rootElem);
String artid="";
while(rs.next())
Element artElem = doc.createElement("RECORD");
if((rs.getString("ARTICLEID")).length()>0)artElem.setAttribute("id",rs.getString("ARTICLEID"));
rootElem.appendChild(artElem);
Element rootFieldElem = doc.createElement("FIELDS");
artElem.appendChild(rootFieldElem);
Element eleCuttingDate = doc.createElement("FIELD");
rootFieldElem.appendChild(eleCuttingDate);
eleCuttingDate.setAttribute("fieldName","CUTTINGSDATE");
if((rs.getString("CUTTINGSDATE")).length()>0) eleCuttingDate.appendChild(doc.createTextNode(rs.getString("CUTTINGSDATE")));
Element eleReadDate = doc.createElement("FIELD");
rootFieldElem.appendChild(eleReadDate);
eleReadDate.setAttribute("fieldName","READDATE");
if((rs.getString("READDATE")).length()>0) eleReadDate.appendChild(doc.createTextNode(rs.getString("READDATE")));
Element eleHeadLine = doc.createElement("FIELD");
rootFieldElem.appendChild(eleHeadLine);
eleHeadLine.setAttribute("fieldName","HEADLINE");
if((rs.getString("HEADLINE")).length()>0) eleHeadLine.appendChild(doc.createTextNode(rs.getString("HEADLINE")));
Element eleSummary = doc.createElement("FIELD");
rootFieldElem.appendChild(eleSummary);
eleSummary.setAttribute("fieldName","SUMMARY");
if(rs.getString("SUMMARY")==null){
//out.println("String is null");
else
{eleSummary.appendChild(doc.createTextNode(rs.getString("SUMMARY")));}
Element eleAuthor = doc.createElement("FIELD");
rootFieldElem.appendChild(eleAuthor);
eleAuthor.setAttribute("fieldName","AUTHOR");
if((rs.getString("AUTHOR")).length()>0) eleAuthor.appendChild(doc.createTextNode(rs.getString("AUTHOR")));
Element elePageFrom = doc.createElement("FIELD");
rootFieldElem.appendChild(elePageFrom);
elePageFrom.setAttribute("fieldName","PAGEFROM");
if((rs.getString("PAGEFROM")).length()>0) elePageFrom.appendChild(doc.createTextNode(rs.getString("PAGEFROM")));
Element elePubName = doc.createElement("FIELD");
rootFieldElem.appendChild(elePubName);
elePubName.setAttribute("fieldName","PUBNAME");
if((rs.getString("PUB_NAME")).length()>0) elePubName.appendChild(doc.createTextNode(rs.getString("PUB_NAME")));
Element eleReaderName = doc.createElement("FIELD");
rootFieldElem.appendChild(eleReaderName);
eleReaderName.setAttribute("fieldName","READER NAME");
if((rs.getString("READER_NAME")).length()>0) eleReaderName.appendChild(doc.createTextNode(rs.getString("READER_NAME")));
Element eleParentTitle = doc.createElement("FIELD");
rootFieldElem.appendChild(eleParentTitle);
eleParentTitle.setAttribute("fieldName","PARENTTITLE");
if((rs.getString("PARENTTITLE")).length()>0)eleParentTitle.appendChild(doc.createTextNode(rs.getString("PARENTTITLE")));
Element eleCanMail = doc.createElement("FIELD");
rootFieldElem.appendChild(eleCanMail);
eleCanMail.setAttribute("fieldName","CANMAIL");
if((rs.getString("CANMAIL")).length()>0) eleCanMail.appendChild(doc.createTextNode(rs.getString("CANMAIL")));
Element elePublicationID = doc.createElement("FIELD");
rootFieldElem.appendChild(elePublicationID);
elePublicationID.setAttribute("fieldName","PUBLICATION_ID");
if((rs.getString("PUBLICATION_ID")).length()>0) elePublicationID.appendChild(doc.createTextNode(rs.getString("PUBLICATION_ID")));
Element eleJournlistID = doc.createElement("FIELD");
rootFieldElem.appendChild(eleJournlistID);
eleJournlistID.setAttribute("fieldName","JOURNALIST_ID");
if((rs.getString("JOURNALIST_ID")).length()>0) eleJournlistID.appendChild(doc.createTextNode(rs.getString("JOURNALIST_ID")));
Element eleIspdf = doc.createElement("FIELD");
rootFieldElem.appendChild(eleIspdf);
eleIspdf.setAttribute("fieldName","ISPDF");
if((rs.getString("ISPDF")).length()>0) eleIspdf.appendChild(doc.createTextNode(rs.getString("ISPDF")));
Element rootKeyElem=doc.createElement("KEYWORDS_CODES");
String[] arrCodes=getKeyCodes(rs.getString("ARTICLEID"));
int count1 = myVector1.size();
String[] myArray1=new String[count1];
myVector1.copyInto(myArray1);
int count2 = myVector2.size();
String[] myArray2=new String[count2];
myVector2.copyInto(myArray2);
for(int j=0;j<arrCodes.length;j++)
Element eleKeyword= doc.createElement("KEYWORD_CODE");
eleKeyword.setAttribute("CodeId",arrCodes[j]);
eleKeyword.setAttribute("LongName",myArray1[j]);
eleKeyword.setAttribute("CodeType",myArray2[j]);
rootKeyElem.appendChild(eleKeyword);
artElem.appendChild(rootKeyElem);
Source source = new DOMSource(docElem);
//File file = new File("/share/PrintDom.xml");
StringWriter rw=new StringWriter();
Result result = new StreamResult(rw);
//Result result = new DOMResult();
// Write the DOM document to the file
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.transform(source, result);
out.println(rw);
catch (ClassNotFoundException e)
out.println("Unable to load Driver Class" + e);
return;
//fileLog.log(e,"PressWatchFrame1.PressWatchFrame1()");
catch (SQLException se)
out.println(se);
catch (Exception e)
out.println(e);
finally{
try{
if(Conn!=null) Conn.close();
catch(SQLException ignored){}
public String[] getKeyCodes(String strArticleId)
Vector myVector=new Vector();
myVector1.removeAllElements();
myVector2.removeAllElements();
try{
stmt1=Conn.createStatement( );
//String strSql1="Select codeid FROM SCANSSUBJECT where articleid='"+ strArticleId +"'";
String strSql1="Select ss.codeid,c.longname,c.codetype FROM SCANSSUBJECT ss,CODES c where ss.codeid=c.codeid and articleid='"+ strArticleId +"'";
rs1=stmt1.executeQuery(strSql1);
String strCodes="";
while(rs1.next())
myVector.add(rs1.getString("codeid"));
myVector1.add(rs1.getString("longname"));
myVector2.add(rs1.getString("codetype"));
}catch (SQLException se)
out.println(se);
int count = myVector.size();
String[] myArray = new String[count];
myVector.copyInto(myArray);
return myArray;
..................Thanx
Maybe you are looking for
-
Replace an image by another with a javascript in Indesign CS6
I am really desperate. I have no idea where to start since I have no knowledge of javascript. Can anyone please help? I need a javascript that replaces 5 logo's in an active, multi-page, CS6 document. In certain cases the logo's need to be replaced
-
I have a storm 9520 and a curve 8520 and had installed the blakberry protect, bu right now when i sign in to the blackberry protect for both, it takes me to the curve 8520 details. Please how can this be rectified as my storm " has been stolen and I
-
Hello, my ipod nano 6th generation is with the black screen, now restored, already pressed for 8 seconds and decrease volume botação start and not resolved, can someone help?
-
Timed Access controlling Main and Guest Network
I have a Time Capusle 4G running software v7.5.2. I am running a Guest Network as well as a closed network. In the Timed Access window i have default set to "no access". Then, all the computers that are allowed access to the main network are on the l
-
I am trying to connect to dreamweaver and am getting an error message
It says that there is an FTP error and cannot make connection to the host that the username or password is incorrect. Please help