Я пытаюсь использовать реализацию hessian j2me @http://hessian.caucho.com/ с помощью java me sdk 3.0.ClassFormatError: 56 при использовании hessian в j2me
http://hessian.caucho.com/doc/hessian-overview.xtp#Hessian%20Client%20for%20a%20cell-phone упоминает использование j2me.
Приложение построено без ошибок/предупреждений. Но в момент, когда создается экземпляр, где создается MicroHessianOutput
, выбрасывается ClassFormatError ( ).
Heres след:
TRACE: <at java.lang.Error: ClassFormatError: 56>, startApp threw an Exception
java.lang.Error: ClassFormatError: 56
- alert.AlertDemo.showOption(), bci=26
- alert.AlertDemo.startApp(), bci=9
- javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
- com.sun.midp.midlet.MIDletPeer.startApp(), bci=7
- com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269
- com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
- com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
- com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
- com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
и Heres showOption():
private void showOption() throws Exception{
String url = "http://localhost/hello";
HttpConnection c = (HttpConnection) Connector.open(url);
c.setRequestMethod(HttpConnection.POST);
OutputStream os = c.openOutputStream();
MicroHessianOutput out = new MicroHessianOutput(os); //error throwing line
/*
out.startCall("hello");
InputStream is = c.openInputStream();
MicroHessianInput min = new MicroHessianInput(is);
min.startReply();
System.out.println(min.readString());
*/
}
У меня JDK 1.6u16 установлен. Я думаю, это может быть потому, что классы в библиотеке, возможно, были написаны для более старого jdk. Я не вижу в IDE какой-либо опции для ее настройки.
Вот исходный код класса: MicroHessianOutput
Любая идея, почему это могло произойти?
thnx, который сработал. – letronje
Может ли кто-нибудь сказать, как это сделать в Eclipse? (Особенно, используя Eclipse Kepler и Oracle JME SDK 3.4.) – LarsH