M
mkl
Erfahrenes Mitglied
- 44
Hallo,
ich habe folgendes probiert:
WebService in Java
Wenn ich exakt das gleiche Projekt in Java erstelle und den Client ebenso in Java erstelle funktioniert alles Problemlos. Wenn ich hingegen den Client nicht in Java erstelle sondern als Android-Projekt hagelt es mir Exceptions...
Da der localhost im Emulator ein anderer ist, verwende ich die verwiesene IP-Adresse 10.0.2.2:8080 statt localhost:8080.
Der angepasste Clientcode sieht demnach so aus:
Der App habe ich natürlich auch die Permission gegeben ins Internet zu gehen, daran sollte es also nicht liegen...
Folgende Exceptions fange ich:
Die Exceptions fangen an, wenn ich die Klasse CalculatorService erstellen will und dieser im Konstruktor die Basisklasse Service erstellen möchte:
Vielleicht sollte ich noch erwähnen, dass ich die JRE Library extra hinzufügen musste, da er mir die Befehle im generierten Clientcode sonst nicht kannte.
Hoffe jemand von euch ist so schlau auf die passende Lösung zu kommen ich habs nun mehrere Stunden probiert...
ich habe folgendes probiert:
WebService in Java
Wenn ich exakt das gleiche Projekt in Java erstelle und den Client ebenso in Java erstelle funktioniert alles Problemlos. Wenn ich hingegen den Client nicht in Java erstelle sondern als Android-Projekt hagelt es mir Exceptions...
Da der localhost im Emulator ein anderer ist, verwende ich die verwiesene IP-Adresse 10.0.2.2:8080 statt localhost:8080.
Der angepasste Clientcode sieht demnach so aus:
Code:
@WebServiceClient(name = "CalculatorService", targetNamespace = "http://Webserver_V2.daimler.de/", wsdlLocation = "http://10.0.2.2:8080/calculator?wsdl")
public class CalculatorService
extends Service
{
private final static URL CALCULATORSERVICE_WSDL_LOCATION;
private final static WebServiceException CALCULATORSERVICE_EXCEPTION;
private final static QName CALCULATORSERVICE_QNAME = new QName("http://Webserver_V2.daimler.de/", "CalculatorService");
static {
URL url = null;
WebServiceException e = null;
try {
url = new URL("http://10.0.2.2:8080/calculator?wsdl");
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
CALCULATORSERVICE_WSDL_LOCATION = url;
CALCULATORSERVICE_EXCEPTION = e;
}
public CalculatorService() {
super(__getWsdlLocation(), CALCULATORSERVICE_QNAME);
}
...
Der App habe ich natürlich auch die Permission gegeben ins Internet zu gehen, daran sollte es also nicht liegen...
Folgende Exceptions fange ich:
Code:
04-23 09:22:32.464: E/AndroidRuntime(1305): FATAL EXCEPTION: main
04-23 09:22:32.464: E/AndroidRuntime(1305): java.lang.NoClassDefFoundError: de.projekt.webserver_v2.CalculatorService
04-23 09:22:32.464: E/AndroidRuntime(1305): at de.projekt.Webserver_V2_Client_Android.Main.onCreate(Main.java:16)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.app.ActivityThread.access1500ドル(ActivityThread.java:117)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.os.Handler.dispatchMessage(Handler.java:99)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.os.Looper.loop(Looper.java:123)
04-23 09:22:32.464: E/AndroidRuntime(1305): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-23 09:22:32.464: E/AndroidRuntime(1305): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 09:22:32.464: E/AndroidRuntime(1305): at java.lang.reflect.Method.invoke(Method.java:507)
04-23 09:22:32.464: E/AndroidRuntime(1305): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-23 09:22:32.464: E/AndroidRuntime(1305): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-23 09:22:32.464: E/AndroidRuntime(1305): at dalvik.system.NativeStart.main(Native Method)
04-23 09:22:35.944: I/Process(1305): Sending signal. PID: 1305 SIG: 9
Die Exceptions fangen an, wenn ich die Klasse CalculatorService erstellen will und dieser im Konstruktor die Basisklasse Service erstellen möchte:
Code:
public CalculatorService() {
super(__getWsdlLocation(), CALCULATORSERVICE_QNAME);
}
Vielleicht sollte ich noch erwähnen, dass ich die JRE Library extra hinzufügen musste, da er mir die Befehle im generierten Clientcode sonst nicht kannte.
Hoffe jemand von euch ist so schlau auf die passende Lösung zu kommen ich habs nun mehrere Stunden probiert...