dependencies { compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.1' }
buildTypes { repositories { maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases' } } }
public class DataLoader extends AsyncTask<Void, Void, String> { private static final String NAMESPACE = "namespace"; private static final String URL = "http://host/wsdlAcceptor?wsdl"; private static final String SOAP_ACTION = "http://host/wsdlAcceptor"; private static final String METHOD_NAME = "testOperation"; @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected String doInBackground(Void... params) { try { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); request.addProperty("IsFirstRequest", true); envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.debug = true; try { androidHttpTransport.call(SOAP_ACTION, envelope); SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn; System.out.println("Response::"+resultsRequestSOAP.toString()); } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } return ""; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); } }
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DataLoader dl = new DataLoader(); dl.execute(); } }
public class HttpTransportBasicAuthSE extends HttpTransportSE { private String username; private String password; /** * Constructor with username and password * * @param url * The url address of the webservice endpoint * @param username * Username for the Basic Authentication challenge RFC 2617 * @param password * Password for the Basic Authentication challenge RFC 2617 */ public HttpTransportBasicAuthSE(String url, String username, String password) { super(url); this.username = username; this.password = password; } public ServiceConnection getServiceConnection() throws IOException { ServiceConnectionSE midpConnection = new ServiceConnectionSE(url); addBasicAuthentication(midpConnection); return midpConnection; } protected void addBasicAuthentication(ServiceConnection midpConnection) throws IOException { if (username != null && password != null) { StringBuffer buf = new StringBuffer(username); buf.append(':').append(password); byte[] raw = buf.toString().getBytes(); buf.setLength(0); buf.append("Basic "); org.kobjects.base64.Base64.encode(raw, 0, raw.length, buf); midpConnection.setRequestProperty("Authorization", buf.toString()); } } }
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
HttpTransportBasicAuthSE androidHttpTransport = new HttpTransportBasicAuthSE(URL, "basicLogin", "authPassword");
<uses-permission android:name="android.permission.INTERNET" />
Source: https://habr.com/ru/post/340642/
All Articles