Ksoap2 probleme, bin ratlos

  • 3 Antworten
  • Letztes Antwortdatum
C

Cosmicbrain

Neues Mitglied
0
Hallo Community,

ich bin neu im Bereich der Webservices und muss nun mit Android einige Webservices abfragen. Nach etwas Schlaumachen, bin dann auf Ksoap2 gestoßen. Aber damit komm ich seit 3 Tagen kein Stück weiter. Als erstes Poste ich mal wie meine abfrage aussehen soll:

Code:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://openclinica.org/ws/study/v1">
 <soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
 xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-27777511"
 xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>xxxxxxx</wsse:Username>
<wsse:Password
 type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxxxxxxxxxxxxx</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
   <soapenv:Body>
      <v1:listAllRequest/>
   </soapenv:Body>
</soapenv:Envelope>
so ich hab nun in die API geschaut und festgestellt der envelope typ den ich brauch ist SoapEnvelope.ENV. doch der funtzt nicht. Schreibe ich :

Code:
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
frisst Eclipse das, aber er bringt mir den Header:
Code:
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:d="http://www.w3.org/2001/XMLSchema" 
xmlns:c="http://www.w3.org/2003/05/soap-encoding"
xmlns:v="http://www.w3.org/2003/05/soap-envelope">
Schreibe ich
Code:
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.ENV);
bekomme ich einen
The constructor SoapSerializationEnvelope(String) is undefined
fehler.

Desweiteren setzt er mit bei VER11 auch UsernameToken und SECUROTY auf "n0:" ich brauch aber "wsse". Username und passwort, nimmt er aber "wsse".....ich bin verwirrt.

Ich dneke wenn mir wer sagt, wie ich
Code:
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.ENV);
zum laufen bringe, komm ich bestimmt ein ganzes stück weiter, oder zumindest ein tipp für einTutorial da smeine Probelem mit behandelt. Die die ich gefunde habe schreiben nirgends was vom header und so :(

vielen dank schonmal

Cosmic
 
Und du kannst den Web Service nur über soap benutzen?

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Hi Dagobert,

leider ja, vorgabe vom Chef :(
 
Also ich hab noch nicht so oft auf Webservices zugegriffen.
Aber ich hab immer die von Eclipse angebotene Methode genutzt aus der WSDL automatisch alle benötigten Klassen generieren zu lassen.

Danach hab ich dann eine einzige Klasse mit der ich auf alle Methoden des Webservices zugreifen kann.
Da braucht man sich dann nicht selbst mit dem envelope oder ähnlichem zum zu ärgern, sondern nutzt im Prinzip nur normale Java Methoden.

Ka ob das bei dir auch funktioniert, aber irgendwie scheint mir das der einfachste weg zu sein.
 
Zurück
Oben Unten