Tjena. Får ibland detta exception: unexpected type(position:END_DOCUMENT null@1:1 in java.io InputStreamReader@414fae00) och ibland detta: Protocol not found, med samma kod. Förstår inte vad jag gör för fel, har provat ett oändligt antal kombinationer av NAMESPACE-namn och METHOD-namn osv men inget fungerar. Kan ni se vad som inte står rätt till, eller är det skånetrafikens API det är fel på?
Jag har lyckats anropa en annan webservice med samma kod, så det kanske bara är fel parametervärden jag använder?
Länk till skånetrafikens API: http://www.labs.skanetrafiken.se/api.asp
Dataschema för metoden Querypage: http://www.labs.skanetrafiken.se/v2.2/GetStartEndPoint.xsd
Exempel på anrop: http://www.labs.skanetrafiken.se/v2.2/querypage.asp?inpPointFr=lund&inpPointTo=ystad
Kod:
public class KSoap2Activity extends Activity {
private static final String SOAP_ACTION = "http://www.etis.fskab.se/v1.0/ETISws/querypage";
private static final String METHOD_NAME = "querypage";
private static final String NAMESPACE = "http://www.etis.fskab.se/v1.0/ETISws/";
private static final String URL = "http://www.labs.skanetrafiken.se/v2.2/querypage.asp";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.text);
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("inpPointFr ", "lund c");
request.addProperty("inpPointTo", "ystad");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
try {
ht.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
tv.setText("Message :" + response.toString());
} catch (Exception e) {
e.printStackTrace();
tv.setText(e.getMessage()+ ht.requestDump);
}
}
}