Zeige Ergebnis 1 bis 8 von 8

Thema: Android Client

  1. #1
    STARFACE User

    Registriert seit
    08.04.2008
    Beiträge
    32

    Frage Android Client

    Hallo,
    ist schon jemanden gelungen STARFACE UCI Java-Lib unter Android zum Laufen zu bringen? Bei meinen Versuchen kommt immer ein Fehler, da Android's dalvikvm anscheinend mit Proxy-Klassen nicht ganz zurech kommt obwohl es laut Doku kein Problem sein sollte:

    10-20 00:09:15.438: ERROR/AndroidRuntime(459): Caused by: java.lang.RuntimeException: de.starface.integration.uci.v21.client.UcpConnecti onFailedException: Could not create XML-RPC proxy
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.burlov.starface.android.MainActivity.onStart(Ma inActivity.java:41)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at android.app.Instrumentation.callActivityOnStart(In strumentation.java:1205)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at android.app.Activity.performStart(Activity.java:35 20)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2373)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): ... 11 more
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): Caused by: de.starface.integration.uci.v21.client.UcpConnecti onFailedException: Could not create XML-RPC proxy
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.integration.uci.v21.client.transport.X mppUcpTransport.open(XmppUcpTransport.java:131)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.integration.uci.v21.client.UciProxy.co nnect(UciProxy.java:323)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.integration.uci.v21.client.UciProxy.op en(UciProxy.java:183)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.burlov.starface.android.MainActivity.onStart(Ma inActivity.java:36)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): ... 14 more
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): Caused by: de.starface.com.rpc.RpcException: Could not create proxy Instance for interface de.starface.integration.uci.ucp.v21.server.UcpServ er
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.com.rpc.RpcProxyFactory.createRpcProxy (RpcProxyFactory.java:347)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.com.rpc.RpcProxyFactory.createRpcProxy (RpcProxyFactory.java:382)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.integration.uci.v21.client.transport.X mppUcpTransport.open(XmppUcpTransport.java:120)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): ... 17 more
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): Caused by: java.lang.IllegalArgumentException: de.starface.integration.uci.ucp.v21.server.UcpServ er is not visible from class loader
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at java.lang.reflect.Proxy.getProxyClass(Proxy.java:1 29)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at java.lang.reflect.Proxy.newProxyInstance(Proxy.jav a:241)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): at de.starface.com.rpc.RpcProxyFactory.createRpcProxy (RpcProxyFactory.java:341)
    10-20 00:09:15.438: ERROR/AndroidRuntime(459): ... 19 more
    Vielleicht stimmt irgendwas nicht ganz mit Sichtbarkeit der UCP/UCI Klassen/Interfaces? Noch ein Hinweis. Bei der Kompilierung mit Android werden ca 10 solche Warnungen ausgegeben:
    [2010-10-20 00:38:06 - SF-Client] warning: Ignoring InnerClasses attribute for an anonymous inner class that doesn't come with an associated EnclosingMethod attribute. (This class was probably produced by a broken compiler.)
    Leider steht dort kein Klassennamen, aber es koennte durchaus die Ursache fuer Reflection Probleme sein. Als Workaround wird empfohlen die Klassen mit mindesten Java 1.5 Kompartibilitaet zu kompilieren.

  2. #2
    STARFACE Expert
    Benutzerbild von may
    Registriert seit
    17.07.2007
    Beiträge
    516

    Standard

    sieht stark nach classloader-murks auf der android-plattform aus. als ob die xml-rpc lib und die ucp-lib nicht vom selben classloader geladen wurden - das hatten wir hier hausintern z.b. wenn wir über eine JMX-Schnittstelle versucht haben UCP-Clients (Proxies) zu erzeugen (JMX verwendet dafür eigenen Classloader).

    Die de.starface.integration.uci.ucp.v21.server.UcpServ er-Klasse ist eigentlich nur einer leeres Interface:
    Code:
    public interface UcpServer extends UcpServerConnection, UcpServerCommunicationCall, UcpServerCommunicationFax,
    	UcpServerCommunicationCallList, UcpServerCommunicationFaxList, UcpServerCommunicationVoicemailList,
    	UcpServerCommunicationRedirect, UcpServerFiletransfer
    {
    	// Methods in this interface are defined by the super interfaces.
    }
    Die anderen Interfaces definieren auch alle keine inneren Klassen, sind jedoch mit selbstgeschriebenen Annotationen versehen - vielleicht kann der andorid-compiler damit nicht so recht umgehen.
    mfg
    may

  3. #3
    STARFACE User

    Registriert seit
    08.04.2008
    Beiträge
    32

    Standard

    Waere es evt moeglich die Sources fuer die UCI Lib unter einer OpenSource (LGPL, Apache, BSD, etc.) Lizenz zu veroeffentlichen. Dies wuerde der Weiterentwicklung/Fehlersuche erheblich helfen ohne selbst das Rad neu zu erfinden und Lib von scratch neu zu schreiben.

  4. #4
    STARFACE Expert

    Registriert seit
    17.01.2007
    Beiträge
    644

    Standard

    Welchen Teil der Lib benötigst Du denn?
    - Ich denke wir können da ein Agreement für Dich finden, ohne die Lib als OpenSource freizugeben.
    Yours sincerely / Gruß,
    OH

  5. #5
    STARFACE User

    Registriert seit
    08.04.2008
    Beiträge
    32

    Standard

    Das Classloading Problem hat sich erledigt. Ich musste nur den ContextClassLoader vor dem Aufruf auswechseln:
    Thread.currentThread().setContextClassLoader(getCl ass().getClassLoader());
    dann wird bei der Proxy-Instanziierung keine Exception mehr geworfen

    Jetzt habe ich ein anderes Problemchen gefunden das sich nicht so einfach von meiner Seite loesen laesst:
    10-23 12:03:09.263: ERROR/dalvikvm(231): Could not find class 'sun.misc.BASE64Decoder', referenced from method de.starface.com.rpc.xmlrpc.XmlRpcObjectParser.pars eValue
    Ueber die Verwendung nicht oeffentlichen Packages in einer oeffentlicher Lib muss ich wohl nicht viel schreiben. Die Package wird wahrscheinlich demnaechst ehe in oracle.* umbenannt Seltsam, dass Blackberry Client darueber nicht meckert.

  6. #6
    STARFACE User

    Registriert seit
    04.08.2009
    Beiträge
    7

    Standard

    Gibt es zu dem Thema schon Neuigkeiten? Auf der CeBit sollte doch ein Android-Client vorgestellt werden...

  7. #7
    STARFACE Expert
    Benutzerbild von skoenig
    Registriert seit
    04.01.2011
    Beiträge
    311

    Standard

    Auf der CeBIT ist ein Android-Client vorgestellt worden. Dieser wird vom STARFACE Excellence Partner O-Byte.com GmbH & Co. KG entwickelt - ein Preview war bereits live zu sehen.
    Das Release des Clients ist für Juni 2012 geplant - weitere Infos hier:http://www.pressebox.de/pressemeldun...h/boxid/489144
    Grüße
    Stefan

  8. #8
    STARFACE User

    Registriert seit
    04.08.2009
    Beiträge
    7

    Standard

    Danke für die Info - der Juni ist ja nicht mehr so fern

Ähnliche Themen

  1. Blackberry Client
    Von thoedlmoser im Forum STARFACE Erweiterungen & Integrationen
    Antworten: 3
    Letzter Beitrag: 15.06.2010, 07:13
  2. Mac Client - Netzwerkfehler
    Von brandeins im Forum STARFACE Beta Archiv
    Antworten: 3
    Letzter Beitrag: 02.06.2010, 16:08
  3. Android SIP und STARFACE
    Von gala-tika im Forum STARFACE Einrichtung & Administration
    Antworten: 6
    Letzter Beitrag: 29.12.2009, 16:55
  4. Android Sip Software
    Von KingArtus im Forum Hersteller Informationen & Hardware Kompatibilität
    Antworten: 2
    Letzter Beitrag: 21.10.2009, 20:47
  5. SIP client registration
    Von zmagyar im Forum STARFACE setup & administration
    Antworten: 3
    Letzter Beitrag: 23.11.2007, 14:43

Stichworte

Lesezeichen

Forumregeln

  • Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
  • Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
  • Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
  • Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
  •