Вот код:
Код: Выделить всё
public class MainActivity extends Activity {
private static final String SOAP_ACTION = "http://www.sample-package.org#StonesellActivation:activate";
private static final String METHOD_NAME = "activate";
private static final String NAMESPACE = "localhost";
private static final String URL = "http://192.168.1.165/trade/ws/StonesellActivation?wsdl";
private static final String username = "user";
private static final String password = "1234";
TextView TextViewServerAnswerText;
String result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextViewServerAnswerText = (TextView) findViewById(R.id.textView1);
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
new serviceTask().execute(null, null , null);
}
});
}
class serviceTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... arg0) {
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("username",username);
request.addProperty("password",password);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
final SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
result = response.toString();
} catch (Exception e) {
e.printStackTrace();
result = e.getStackTrace().toString();
}
return null;
}
}12-04 10:20:41.338: W/System.err(31619): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <html>@1:7 in java.io.InputStreamReader@42af9dd0)
12-04 10:20:41.338: W/System.err(31619): at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
12-04 10:20:41.338: W/System.err(31619): at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:127)
12-04 10:20:41.338: W/System.err(31619): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195)
Лезу в лог 1с-ки там видно что приложение пыталось получить доступ к веб сервису:
Пользователь: <Неопределен> Событие: Сеанс. Ошибка аутентификации
Пользователя и пароль указал, но походу неправильно, подскажите как правильно настроить аутенфикацию? Или может я вообще неправильно работаю с ksoap2?
В манифесте указал <uses-permission android:name="android.permission.INTERNET"/>.
