Я запускаю Linux-сервер с tomcat и Railo. Если бы я попробовать этот простой код:Railo instanceof не работает с Jsoup
check = "";
jSoupClass = createObject("java", "org.jsoup.Jsoup");
if(IsInstanceOf(jSoupClass,"org.jsoup.Jsoup")){
check = "ok";
}
writeDump(check);
Если я запускаю этот простой код вар check
всегда пусто. Я запускаю этот простой тест со многими классами Java, и все работает отлично.
В моем приложении я использую jsoup без проблем, но не могу запустить эту простую проверку. Я использую это для проверки документа документа:
jSoupClass = createObject("java", "org.jsoup.Jsoup");
dom = jSoupClass.connect("http://www.mutuiinpdap.net").userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").timeout(10000).execute();
doc = dom.parse();
nods = doc.childNodes();
doctype = {};
for (key in nods) {
if(IsInstanceOf(key,"org.jsoup.nodes.DocumentType")){
doctype.string = key.toString();
switch(key) {
case "<!DOCTYPE html>":
doctype.declarations = "Html 5";
break;
case '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">':
doctype.declarations = "XHTML transitional";
break;
}
}
}
writeDump(doctype);
Есть ли способ решить эту проблему? могу ли я использовать другой код, чтобы проверить, какой тип документа является документом?
Этот код отлично работает на моей локальной машине Windows. Но на моем сервере производства с Ubuntu, установленной на нем ломается ...
[Редактировать]
я испытал также с этим кодом:
public function getDoctype(){
myClass = {};
jSoupClass = createObject("java", "org.jsoup.Jsoup");
whois = createObject("java", "org.apache.commons.net.whois.WhoisClient");
myClass.jj = "ko";
myClass.ww = "ko";
writeDump(jSoupClass);
writeDump(whois);
if(IsInstanceOf(jSoupClass,"org.jsoup.Jsoup")){
myClass.jj = "ok";
}
if(IsInstanceOf(whois,"org.apache.commons.net.whois.WhoisClient")){
myClass.ww = "ok";
}
return myClass;
}
я получу MyCLASS .jj = "ko"; и myClass.ww = "ok";
Не могу понять, почему isInstanceOf не работает - особенно если он работает на одной установке, но не другой - можете ли вы [поднять ошибку] (https://issues.jboss.org/browse/RAILO) с соответствующими Детали. –
Я хотел бы поднять ошибку с соответствующими деталями, но добавить нечего. Я добавляю try/catch в свой код, чтобы узнать, что не так, но не получим ошибок. Я добавлю свой вопрос в следующем примере ... Я не могу быть уверен, что это ошибка жука или ошибка Jsoup. Я задал несколько вопросов по обеим группам, но никто, кажется, не заинтересован ... – Tropicalista
Ссылки, ссылки на: [Railo Discussion] (https://groups.google.com/forum/?fromgroups=#!topic/ railo/NvylfseXN6Y) и [Jsoup Discussion] (https://groups.google.com/forum/?fromgroups=#!topic/jsoup/edTpR8XtSFk). –