Win a copy of Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 this week in the Java in General forum!

Ravikumar Jambunathan

Ranch Hand
+ Follow
since Aug 25, 2003
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Ravikumar Jambunathan

Hi Experts,

I have a Java program which converts a PFX key store (generated in another system) into Java key store. The Java key store will be referenced by the application from AIX. The program and conversion was working fine all along. However, when i try to convert the key store renewed recently, i am getting below exception.

java.io.IOException: Error in loading the keystore: Error decoding X.509 CRL from encoding. at com.ibm.crypto.provider.PKCS12KeyStore.engineLoad(Unknown Source) at java.security.KeyStore.load(KeyStore.java:694) at ConvertPKCS12ToJKS.main(ConvertPKCS12ToJKS.java:78)


However, there is no problem in converting the same PFX file in Windows. Here is the log.

Input keystore file = D:/EclipseProjects/GW.pfx_ExportfromIE_Jan
Output keystore file = D:/EclipseProjects\bolero_keystore.jks
Input keystore password = test2
Output keystore password = password
Keystore provider name = Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
alias=[{4448e346-018f-4e47-b452-a27fb3688f5b}]
Keystore converstion complete.


But, when i try to check the converted key store in AIX using key tool command, it fails opening with the below keytool error

keytool error (likely untranslated): java.security.cert.CertificateParsingException: java.io.IOException: java.io.IOException: DerValue.getIA5String, not IA5 30

I have already applied the more relaxed security jar files from IBM, still the problem persists.

I am using Java 1.5

Can somebody help on this please?
Thanks in advance for your help.

Regards,
Ravi.
11 years ago
Hi Ulf,

Thanks a lot, you suggestion works. There was old version of lucene jar file in my tomcat directory. I removed the old version, it works now.

thanks again.

thanks and regards,
ravi.
Hi All,

Hope this is the right forum to post this question.

I have created a search application using Lucene, which works very well as a standalone application. However, when i try to call the search application from a servlet, i am getting the below exception. I am not very clear on the exception and hence i am not able to think of a remedy beyond certain level. Therefore, if anybody encountered similar problem; could you please share your experience, expecially on the exception itself and on the resolution part of it. The application details are,

Tomcat server 5.5.26
Java 1.5.15
Lucene 2.3.1

Here is the exception.

Searching starts...
Index directory = org.apache.lucene.store.FSDirectory@D:\EclipseProjects\KnowledgeBase\docbase
java.io.IOException: Unknown format version: -4
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:195)
at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:152)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:579)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:147)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:142)
at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:48)
at com.kb.logic.IndexSearch.search(IndexSearch.java:31)
at com.kb.servlet.SearchServlet.doPost(SearchServlet.java:62)
at com.kb.servlet.SearchServlet.doGet(SearchServlet.java:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)

Thanks a lot for your help.

Regards,
ravi
Hi everyone,

Thanks for all your suggestions and support.

All the porblems were caused by McAfee firewall which was running as a service. I stopped the service and am now able to start up the server.

thanks and regards,
ravi.
15 years ago
Mr.Mahesh,

Thanks for your reply.

I tried, but still i am getting the same problem. Even, i tried reinstalling the weblogic server again. But, still of no use.

I am new to weblogic and trying to learn it. Could anybody suggest me how to proceed ahead?

thanks and regards,
ravi.
15 years ago
Hi,

Thanks for your response.

I am able to successfully start and run the ExamplesServer. And for your kind information, i was able to startup and deploy my applications successfully. Later, after i installed Oracle9i, i encountered this problem.

Please let me know, if any configuration conflicting between weblogic and oracle, which causes this problem.

thanks in advance.

regards,
ravi.
15 years ago
Hi all,

I am getting the follwing error when i try to start my weblogic domain.



<Apr 17, 2006 8:355:26 PM SGT> <Notice> <WebLogicServer> <BEA-000365> <Server sta
te changed to STANDBY>
<Apr 17, 2006 8:35:26 PM SGT> <Notice> <WebLogicServer> <BEA-000365> <Server sta
te changed to STARTING>
<Apr 17, 2006 8:35:43 PM SGT> <Notice> <WebLogicServer> <BEA-000365> <Server sta
te changed to ADMIN>
<Apr 17, 2006 8:35:43 PM SGT> <Notice> <WebLogicServer> <BEA-000365> <Server sta
te changed to RESUMING>
<Apr 17, 2006 8:35:43 PM SGT> <Error> <Server> <BEA-002606> <Unable to create a
server socket for listening on channel "Default". The address 127.0.0.1 might be
incorrect or another process is using port 9003: java.net.SocketException: Inva
lid argument: listen failed.>
<Apr 17, 2006 8:35:43 PM SGT> <Emergency> <Security> <BEA-090087> <Server failed
to bind to the configured Admin port. The port may already be used by another p
rocess.>
<Apr 17, 2006 8:35:43 PM SGT> <Critical> <WebLogicServer> <BEA-000362> <Server f
ailed. Reason: Server failed to bind to any usable port. See preceeding log mess
age for details.>
<Apr 17, 2006 8:35:43 PM SGT> <Notice> <WebLogicServer> <BEA-000365> <Server sta
te changed to FAILED>
<Apr 17, 2006 8:35:43 PM SGT> <Error> <WebLogicServer> <BEA-000383> <A critical
service failed. The server will shut itself down>
<Apr 17, 2006 8:35:43 PM SGT> <Notice> <WebLogicServer> <BEA-000365> <Server sta
te changed to FORCE_SHUTTING_DOWN>
<Apr 17, 2006 8:35:43 PM SGT> <Error> <netuix> <BEA-423103> <[] Deployment descr
iptor /WEB-INF/url-template-config.xml malformed.>
javax.servlet.ServletException: com/bea/netuix/servlets/manager/types/url_templa
te_config/UrlTemplateRefDocument$UrlTemplateRef$Type$Enum
at com.bea.netuix.servlets.manager.AppDescriptor.loadDescriptor(AppDescr
iptor.java:860)
at com.bea.netuix.servlets.manager.SingleFileServlet.init(SingleFileServ
let.java:99)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at weblogic.servlet.AsyncInitServlet.initDelegate(AsyncInitServlet.java:
95)
at weblogic.servlet.internal.WebAppServletContext$AsyncInitRequest.run(W
ebAppServletContext.java:1609)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkMan
agerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
Caused by: java.lang.NoClassDefFoundError: com/bea/netuix/servlets/manager/types
/url_template_config/UrlTemplateRefDocument$UrlTemplateRef$Type$Enum
at com.bea.netuix.servlets.manager.types.url_template_config.impl.UrlTem
plateRefDocumentImpl$UrlTemplateRefImpl.getType(UrlTemplateRefDocumentImpl.java:
109)
at com.bea.netuix.servlets.manager.AppDescriptor.loadUrlTemplates(AppDes
criptor.java:764)
at com.bea.netuix.servlets.manager.AppDescriptor.loadDescriptor(AppDescr
iptor.java:847)
... 7 more



I tried with default port 7001, then i tried 9003. I verified the listining ports using 'netstat -an' command. None of these ports are bind to any resource. But still i am getting this socket problem.

Could anybody advice me on this?

thanks for your time.

regards,
ravi.
15 years ago
Hi All,

Thanks a lot for your time and advice. I managed to resolve the problem. The problem was the web.xml filename was in upeer case like "WEB.XML". I renamed to "web.xml", now it is working fine. By the way, I have never read anywhere in Tomcat documention that web.xml naming is case sensitive. Seems, weblogic does not have this restriction.

However, thanks a lot once again.

thanks and regards,
ravi.
[ February 21, 2006: Message edited by: Ravikumar Jambunathan ]
15 years ago
Hi,

thanks for your feedback.

The class file is under package specific dierctory that is,

$TOMCAT_HOME\MessageSecurity\WEB-INF\classes\com\messagesecurity\servlet directory. As i mentioned, the application is running fine in weblogic server. I am facing this problem only with Tomcat.

Pl. let me know, if you require further details.

thanks and regards,
ravi.
15 years ago
Hi All,

I am facing a quite strange problem with Tomcat. I have written a small web application, which i can successfully launch and run in weblogic server. But, when try to run the same in Tomcat, i am getting HTTP 404 error. I could access by jsp pages successfully. Below given my web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>MessageSecurity</display-name>
<servlet>
<servlet-name>compressdecompress</servlet-name>
<servlet-class>com.messagesecurity.servlet.CompressDecompressServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>compressdecompress</servlet-name>
<url-pattern>/compress</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/login.html</welcome-file>
</welcome-file-list>
</web-app>

URL i used to access my app. is "http://localhost:8080/MessageSecurity/compress", where "MessageSecurity" is my context root under $TOMCAT_HOME/webapps directory.

My tomcat version is 5.0.28. Kindly let me know, where i am going wrong.

Thanks a lot for your time and advice.

thanks and regards,
ravi.
[ February 20, 2006: Message edited by: Ravikumar Jambunathan ]
15 years ago
Hi All,

My application uses SAX parser to strip and parse the incoming xml file. My problem is whenever the payload contains L@ampT; symbol, it is throwing 'SAX Exception saying that Reference to the entity must end with ;'.

But, i could open the xml file using xml tool such as xml spy and xml notepad. And as far i know, @amp; is valid representation in xml. I really don't understand why i am getting this exception?

For testing purpose i put one more ';' at the end of '&' like 'L&;T'. The file was processed successfully and in the output i saw 'L&;T', which was supposed to be L&T.

I will post the problamatic file as well as the exact exception phrase in my next post. In the meantime, if anybody encountered this problem before, kindly let me know the root cause of this problem and the way to resolve it.

Your earlier advice is greatly appreciated.

Thanks in advance for your time.

Thanks and regards,
ravi.
Hi Madhav,

Extremely sorry for the delayed reply. Thankyou very much for your suggestion. It works.

hi,

here is the code which calls DOM parser.

public XMLBase(String filename, String dtdPath)
throws XMLException {
try {
xmlDTDPath = dtdPath;
Log.info("XML Dtd path = " + xmlDTDPath);

// Remove message from XMLWrapper
String xmlFiletoLoad = filename;
xmlFiletoLoad =stripMessage(filename);
Log.info ("xmlFiletoLoad : " + xmlFiletoLoad);

// Parse xml document and store as a DOM object
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(true);
dbf.setNamespaceAware(true);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",true);


DocumentBuilder db = null;
db= dbf.newDocumentBuilder();
xmlDocument = db.parse(xmlFiletoLoad);


/*
// Remove intermediate file after processing
if (!xmlFiletoLoad.equalsIgnoreCase(filename)) {
new File(xmlFiletoLoad).delete();
} */

} catch(ParserConfigurationException pConEx){
Log.error("ParserConfigurationException: "+pConEx.getMessage());
throw new XMLException("", "Unable to parse xml file", pConEx);
} catch(IOException ioExp){
Log.error("IOException: " +ioExp);
throw new XMLException("", "Error performing IO operation on xml file", ioExp);
} catch(SAXException saxEx){
Log.error("SAXException: " + saxEx);
throw new XMLException("", "Error parsing xml file", saxEx);
}
Log.info("XML File loaded = " + filename);
}

with best regards,
ravi.
hooo... no... extremely sorry, i will post it soon...

thanks for your time.

regards,
ravi.
Hi Madhav,

Thanks for your feedback.

Here is the code,

protected String stripMessage(String filename) throws XMLException {
try {
File newFile1 = new File(filename+".strip1");
metaDataFile = newFile1.getAbsolutePath();

File newFile2 = new File(filename+".strip2");
messageFile = newFile2.getAbsolutePath();

// Perform stripping of header using SAX Parser
XMLFileSplitter xmlFileSplitter = new XMLFileSplitter();
xmlFileSplitter.setDestFile(metaDataFile);
xmlFileSplitter.setXMLHeader(filename);
xmlFileSplitter.setDataFile(messageFile);
xmlFileSplitter.setMessageTag(messageTag);
if (!xmlDTDPath.trim().equals("")) xmlFileSplitter.setDTDPath
(xmlDTDPath);

SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(true);
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(filename, xmlFileSplitter);
Log.info("File contains meta data = " + metaDataFile);
Log.info("File name contains message = " + messageFile);
Log.info("End stripMessage()");
} catch (SAXParseException se){
Log.error("SAXParseException: " + se.getMessage());
throw new XMLException ("","Error parsing xml file using SAX
parser",+ se);
} catch(SAXException s){
Log.error("SAXException: " + s.getMessage());
} catch(ParserConfigurationException pe){
Log.error("ParserConfigurationException: " + pe.getMessage());
} catch(IOException io){
Log.error("IOException: " + io.getMessage());
} catch(Exception e){
e.printStackTrace();
Log.error("Exception: " + e.getMessage());
}
return metaDataFile;
}

Here is the XMLFileSplitter for resolve entity,

public InputSource resolveEntity(String publicId, String systemId)
throws SAXException
{
Log.info("Configure DTD Path...");
Log.info("PublicID = " + publicId);
Log.info("SystemID = " + systemId);
//int x = systemId.lastIndexOf(File.separator);

// change dtd definition only if xmldtdPath is supplied
if ((xmlDtdPath != null) && !(xmlDtdPath.trim().equals(""))) {
int x = systemId.lastIndexOf("/");
String dtdname = systemId.substring(x+1, systemId.length());
Log.info("DTDName = " + dtdname);
getFileSep();
String newDTDurl = "file:\\" + xmlDtdPath + fileSep + dtdname;
Log.info("New DTDPath = " + newDTDurl);
return new InputSource(newDTDurl);
}
else
{
return new InputSource(systemId);
}

thanks in advance for your time.

best regards,
ravi.


[ November 05, 2004: Message edited by: Ravikumar Jambunathan ]