Я пытаюсь создать клиент Mantis для Android с помощью http://sourceforge.net/projects/mantisconnect/ Java-клиента. Я создал пустой проект Android, добавил папку Libs, но там есть файл mantisconnect jar. Затем я добавил его в путь сборки и переместил его в начало.Android Mantis клиент «Не удалось найти класс»
try {
mUrl = new URL("https://blabla.com:443/mantis/api/soap/mantisconnect.php");
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
IMCSession session = new MCSession(mUrl, mUser, mPwd);
} catch (MCException e) {
e.printStackTrace();
}
Этот код находится в событии OnClick кнопки. Но когда я нажимаю на эту кнопку, у меня есть ошибка:
06-07 10:38:47.818: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;'
06-07 10:38:47.818: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed
06-07 10:38:50.993: W/dalvikvm(1000): VFY: unable to find class referenced in signature (Lorg/mantisbt/connect/axis/MantisConnectPortType;)
06-07 10:38:53.856: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;'
06-07 10:38:53.856: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed
06-07 10:38:56.585: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;'
06-07 10:38:56.585: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed
06-07 10:39:04.045: W/dalvikvm(1000): VFY: unable to find class referenced in signature (Lorg/mantisbt/connect/axis/MantisConnectPortType;)
06-07 10:39:05.613: I/dalvikvm(1000): Failed resolving Lorg/mantisbt/connect/axis/MantisConnectPortType; interface 118 'Ljava/rmi/Remote;'
06-07 10:39:05.613: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectPortType;' failed
06-07 10:39:22.073: W/dalvikvm(1000): Unable to resolve superclass of Lorg/mantisbt/connect/axis/MantisConnectLocator; (187)
06-07 10:39:22.073: W/dalvikvm(1000): Link of class 'Lorg/mantisbt/connect/axis/MantisConnectLocator;' failed
06-07 10:39:23.326: E/dalvikvm(1000): Could not find class 'org.mantisbt.connect.axis.MantisConnectLocator', referenced from method org.mantisbt.connect.axis.MCSession.createPortType
06-07 10:39:23.326: W/dalvikvm(1000): VFY: unable to resolve new-instance 251 (Lorg/mantisbt/connect/axis/MantisConnectLocator;) in Lorg/mantisbt/connect/axis/MCSession;
06-07 10:39:23.326: D/dalvikvm(1000): VFY: replacing opcode 0x22 at 0x0000
06-07 10:39:38.598: W/dalvikvm(1000): VFY: unable to resolve exception class 181 (Ljavax/xml/rpc/ServiceException;)
06-07 10:39:38.603: W/dalvikvm(1000): VFY: unable to find exception handler at addr 0xa
06-07 10:39:38.603: W/dalvikvm(1000): VFY: rejected Lorg/mantisbt/connect/axis/MCSession;.createPortType (Ljava/net/URL;)Lorg/mantisbt/connect/axis/MantisConnectPortType;
06-07 10:39:38.603: W/dalvikvm(1000): VFY: rejecting opcode 0x0d at 0x000a
06-07 10:39:38.603: W/dalvikvm(1000): VFY: rejected Lorg/mantisbt/connect/axis/MCSession;.createPortType (Ljava/net/URL;)Lorg/mantisbt/connect/axis/MantisConnectPortType;
06-07 10:39:38.603: W/dalvikvm(1000): Verifier rejected class Lorg/mantisbt/connect/axis/MCSession;
06-07 10:39:41.807: D/AndroidRuntime(1000): Shutting down VM
06-07 10:39:41.807: W/dalvikvm(1000): threadid=1: thread exiting with uncaught exception (group=0x40015560)
06-07 10:39:41.996: E/AndroidRuntime(1000): FATAL EXCEPTION: main
06-07 10:39:41.996: E/AndroidRuntime(1000): java.lang.VerifyError: org.mantisbt.connect.axis.MCSession
06-07 10:39:41.996: E/AndroidRuntime(1000): at daintel.issuereporter.Controls2$1.onClick(Controls2.java:51)
06-07 10:39:41.996: E/AndroidRuntime(1000): at android.view.View.performClick(View.java:2485)
06-07 10:39:41.996: E/AndroidRuntime(1000): at android.view.View$PerformClick.run(View.java:9080)
06-07 10:39:41.996: E/AndroidRuntime(1000): at android.os.Handler.handleCallback(Handler.java:587)
06-07 10:39:41.996: E/AndroidRuntime(1000): at android.os.Handler.dispatchMessage(Handler.java:92)
06-07 10:39:41.996: E/AndroidRuntime(1000): at android.os.Looper.loop(Looper.java:123)
06-07 10:39:41.996: E/AndroidRuntime(1000): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-07 10:39:41.996: E/AndroidRuntime(1000): at java.lang.reflect.Method.invokeNative(Native Method)
06-07 10:39:41.996: E/AndroidRuntime(1000): at java.lang.reflect.Method.invoke(Method.java:507)
06-07 10:39:41.996: E/AndroidRuntime(1000): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-07 10:39:41.996: E/AndroidRuntime(1000): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-07 10:39:41.996: E/AndroidRuntime(1000): at dalvik.system.NativeStart.main(Native Method)
Но этот класс присутствует в пакете, и я написал
import org.mantisbt.connect.axis.*;
в классе деятельности, где это событие кнопки. Можете ли вы мне помочь?
Я пробовал http://search.maven.org/#artifactdetails|biz.futureware.mantis|mantis-axis-soap-client|1.2.9|jar Но нет документации о том, как ее использовать. – Taras
Просто включите его в путь класса и используйте его классы. Но не забудьте ось jar –
Но она использует java.rmi, которая не может использоваться в приложении Android. Самый простой код, например 'URL url = новый URL (MUrl); MantisConnectLocator mcl = new MantisConnectLocator(); MantisConnectPortType portType = mcl.getMantisConnectPort (url); String vers = portType.mc_version(); ' вызывает ошибку ' Проект не был построен, так как его путь сборки является неполным. Не удается найти файл класса для java.rmi.RemoteException. Исправьте путь сборки, затем попробуйте создать этот проект. – Taras