Jersey Client Fehler

T

Tami91

Neues Mitglied
0
Hallo,

ich benötige mal wieder eure Hilfe. Mir wurde ein schon funktionierender Jersey Client zur Kommunikation mit einem externen Server als .jar zur Verfügung gestellt. (In einem anderen Projekt wurde er bereits getestet, da funktionierte er einwandfrei).
Bei mir jedoch nicht. :confused2:

Mein Code (ebenfalls vom vorherigen Test übernommen) neben der richtig eingebundenen (bereits gecheckten) Library sieht so aus:

Code:
try
{
System.out.println( "Creating client" );
PMSRSClient restClient = PMSRSClient( "http://Verbindung");

System.out.println( "Sending request" );
AuthenticateResponse response = restClient.authenticate( new AuthenticateRequest( "Userdaten", "Passwort") );
            
System.out.println(  "Getting response: " + response.getStatus());
System.out.println(  "Getting response: " + response.getUserSession() );
System.out.println(  "Getting response: " + response.getServiceFault()+" ");
}catch( Exception e )
{
 System.err.println( "Exception: " + e );
}
Zurück bekomme ich in der LogCat Console:

Code:
I/System.out(622): Sending request
I/System.out(622): Getting response: null
I/System.out(622): Getting response: null
I/System.out(622): Getting response: ServiceFault [errorCode=UNKNOWN_ERROR]
und die Fehler:
Code:
W/System.err(622): log4j:WARN No appenders could be found for logger (com.q.p.rsclient.PMSRSClient).
W/System.err(622): log4j:WARN Please initialize the log4j system properly.
W/System.err(622): log4j:WARN See [url=http://logging.apache.org/log4j/1.2/faq.html#noconfig]Apache log4j 1.2 - Frequently Asked Technical Questions[/url] for more info.
Könnt ihr mir bitte sagen was ich falsch mache? Ich suche schon seit Tagen nach dem Fehler und komme einfach nicht darauf.

PS:
Ich kam schon auf die Idee diesen Codeschnipsel einzufügen weil ich mit minSDK 14 programmiere und dies in der Vergangenheit schon bei einigen Kommunikationsproblemen geholfen hatte.

Code:
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Leider verursacht dies eine weitere größere Welle Fehler sodass ich stark vermute dass dies nicht der richtige Ansatz war.:tongue:
 
In deiner MainApp sind aber auch alle Permissions gesetzt ??? (INTERNET, ect pp) ???
 
Ich habe eine dumme Frage:

Hast du in der AndroidManifest.xml das hier drinnen?

<uses-permission android:name="android.permission.INTERNET" />

Vielleicht war die Frage auch nur dumm ;)
 
Und nun die Fehler welche schon vor dem anklicken des Buttons (also beim Builden) auftreten:

Code:
W/System.err(754): log4j:ERROR Could not parse url [jar:file:/data/app/com.example.app-1.apk!/log4j.xml].
W/System.err(754): javax.xml.parsers.ParserConfigurationException: No validating DocumentBuilder implementation available
W/System.err(754):at org.apache.harmony.xml.parsers.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:61)
W/System.err(754):at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:866)
W/System.err(754):at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778)
W/System.err(754): at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
W/System.err(754): at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
W/System.err(754): at org.apache.log4j.Logger.getLogger(Logger.java:117)
W/System.err(754): at com.q.p.rsclient.PMSRSClient.<clinit>(PMSRSClient.java:229)
W/System.err(754):at com.example.app.CLogin.onClick(CLogin.java:80)
W/System.err(754): at android.view.View.performClick(View.java:3480)
W/System.err(754):at android.view.View$PerformClick.run(View.java:13983)
W/System.err(754): at android.os.Handler.handleCallback(Handler.java:605)
W/System.err(754):at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err(754):  at android.os.Looper.loop(Looper.java:137)
W/System.err(754):at android.app.ActivityThread.main(ActivityThread.java:4340)
W/System.err(754):at android.app.ActivityThread.main(ActivityThread.java:4340)
W/System.err(754): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err(754): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
W/System.err(754):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
W/System.err(754):
at dalvik.system.NativeStart.main(Native Method)

Der ursprüngliche Beitrag von 13:47 Uhr wurde um 13:48 Uhr ergänzt:

Ja die Permissions habe ich drinnen :)
 
Zuletzt bearbeitet von einem Moderator:
Ich würde mal nen Proxy dazwischen schalten. z.B. den Fiddler und schau ob da überhaupt ein Request Richtung Server rausgeht.
 
Habe den Fiddler dazwischengeschaltet.
Es kommt weder was raus noch was rein... :sad:
 
Ich sehe da den Methodenaufruf auch nicht...
 
Der wird soweit ich das sehe nicht gefunden...

I/dalvikvm(783): Could not find method com.sun.jersey.core.osgi.OsgiRegistry.getInstance, referenced from method com.sun.jersey.core.reflection.ReflectionHelper.getOsgiRegistryInstance
 
dir fehlt offenbar noch ne andere jar datei?

oder klick mal die eingebundene Jar Datei in den Exports in Eclipse an
 
Ich glaube du hast recht. Habe die Jar einmal entpackt mit 7zip und die gesuchte Klasse fehlt eindeutig. Eine zweite Jar gibt es nicht :)

Der ursprüngliche Beitrag von 14:48 Uhr wurde um 16:40 Uhr ergänzt:

Leider wäre das wohl zu einfach gewesen. Anscheinend ist es ein Linkfehler. Nur weiß ich leider nicht wie ich diesen beheben kann.
 
Irgendwo kannst du bei den Einstellungen sagen, das der die JAR exportieren soll.

Will heißen in die APK werden dann die Inhalte der Jar mit eingelinkt.
 
Du meinst sicher Order und Export im Java Class Path. Da ist es auch angehakt
 
Ein Großteil der Fehler ist ja log4j - kennt sich jemand damit aus?
Hab ich da evtl vergessen etwas einzubinden/hinzuzufügen?
 
Hallo ich schon wieder,

mein Problem hat sich leider immer noch nicht gelöst. :(

Ich habe beschlossen mal zu sehen was mir mein Debugger schönes ausgiebt. :p
Herausbekommen habe ich dass es in dieser Zeile nicht mehr weitergeht:

response= restClient.authenticate( new AuthenticateRequest ("...", "...") );

Und hier die Fehlermeldung des Debuggers:
The Jar of this classfile belongs to container 'Android Private Libraries' which does not allow modifications to source attachments on its entries.

In der Console bekomme ich:
E/AndroidRuntime(722): FATAL EXCEPTION: main
E/AndroidRuntime(722): java.lang.ExceptionInInitializerError
E/AndroidRuntime(722): at com.sun.jersey.core.spi.factory.MessageBodyFactory.getMessageBodyWriterMediaTypes(MessageBodyFactory.java:444)
...
E/AndroidRuntime(722): Caused by: java.lang.NullPointerException
 

Ähnliche Themen

D
Antworten
3
Aufrufe
452
jogimuc
J
M
  • maksimilian
Antworten
6
Aufrufe
1.003
jogimuc
J
M
  • maksimilian
Antworten
2
Aufrufe
1.212
maksimilian
M
Zurück
Oben Unten