M
milschkuh
Neues Mitglied
- 0
Hallo,
ich habe eine SOAP Schnittstelle mit VB.net geschrieben, weilce ich problem mit einem BlackBerry oder Windows Phone 7 ansprechen kann. Dort erhalte ich jeweils die richtigen Antworten.
Unter Android kann ich zwar auch die SOAP Schnittstelle ansprechen, bekomme aber ein anderes Ergebnis übermittelt. Nach dem ich dann die SAOP Schnittstelle debuggt habe, habe ich festgestellt, dass das Android Gerät garkeine Parameter mit übermittelt, und so ja nur ein falsches Ergebnis rauskommen kann.
Ich habe hier einmal ein Beispiel, wie ich die Schnittstelle mit dem Android Gerät aufrufe:
vllt hat ja jemand noch eine Idee, was ich besser bzw. anders machen könnte / sollte, damit der Parameter übertragen wird.
Vielen Dank.
milschkuh
ich habe eine SOAP Schnittstelle mit VB.net geschrieben, weilce ich problem mit einem BlackBerry oder Windows Phone 7 ansprechen kann. Dort erhalte ich jeweils die richtigen Antworten.
Unter Android kann ich zwar auch die SOAP Schnittstelle ansprechen, bekomme aber ein anderes Ergebnis übermittelt. Nach dem ich dann die SAOP Schnittstelle debuggt habe, habe ich festgestellt, dass das Android Gerät garkeine Parameter mit übermittelt, und so ja nur ein falsches Ergebnis rauskommen kann.
Ich habe hier einmal ein Beispiel, wie ich die Schnittstelle mit dem Android Gerät aufrufe:
Code:
private static final String SOAP_ACTION = "http://myNamespace.de/advancedLogin";
private static final String METHOD_NAME = "advancedLogin";
private static final String NAMESPACE = "http://myNamespace.de/";
private static final String URL = "http://192.168.1.54/SOAP_test/Service1.asmx?WSDL";
private void demo() {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("deviceName","Android-001");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = false;
HttpTransportSE ht = new HttpTransportSE(URL);
try {
ht.call(SOAP_ACTION,envelope);
} catch (Exception ex) {
Toast.makeText(getApplicationContext(), ex.toString(), Toast.LENGTH_LONG).show();
}
SoapObject result = (SoapObject)envelope.bodyIn;
try {
if (result.getPropertyCount() > 0) {
String res = result.getProperty(0).toString();
if (res.equals("true")) {
// login successfull
Toast.makeText(getApplicationContext(), "success", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Das gerät ist nicht bekannt "+res, Toast.LENGTH_LONG).show();
}
}
}catch(Exception ex) {
Toast.makeText(getApplicationContext(), ex.toString(), Toast.LENGTH_LONG).show();
}
}
vllt hat ja jemand noch eine Idee, was ich besser bzw. anders machen könnte / sollte, damit der Parameter übertragen wird.
Vielen Dank.
milschkuh