Connect mysql database using soap web services in android

I am developing an Android application that connects to a Mysql database that also uses SOAP web services.

When I run my application on an Android simulator, I see the following messages. Message [Ljava.lang.String; @ 44f565fo.

I want to understand why I get this message.

Here is my Java web service code:

package com.retailer.ws; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.PreparedStatement; public class RetailerWS { public String customerData(){ String customerInfo = ""; try{ Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/retailer","root","chathura"); //Find customer information where the customer ID is maximum PreparedStatement statement = con.prepareStatement("SELECT * FROM customers WHERE C_ID = (SELECT MAX(C_ID) FROM customer)"); ResultSet result = statement.executeQuery(); while(result.next()){ customerInfo = customerInfo + result.getString("name") + "&" + result.getString("C_ID") + "&"+result.getString("address") + "&"+result.getString("email"); // Here "&"s are added to the return string. // This is help to split the string in Android application } } catch(Exception exc){ System.out.println(exc.getMessage()); } return customerInfo; } } 

Here is the code for the Android application

 package com.retailer.client; import android.app.Activity; import android.os.Bundle; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import android.widget.TextView; public class RetailerActivity extends Activity { private static final String SOAP_ACTION = "http://ws.retailer.com/customerData"; private static final String METHOD_NAME = "customerData"; private static final String NAMESPACE = "http://ws.retailer.com/"; private static final String URL = "http://175.157.234.156:8085/ForBlog/services/RetailerWS?wsdl"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setOutputSoapObject(request); HttpTransportSE ht = new HttpTransportSE(URL); try { ht.call(SOAP_ACTION, envelope); SoapPrimitive response = (SoapPrimitive)envelope.getResponse(); SoapPrimitive s = response; String str = s.toString(); String resultArr[] = str.split("&");//Result string will split & store in an array TextView tv = new TextView(this); for(int i = 0; i<resultArr.length;i++){ tv.append(resultArr[i]+"\n\n"); } setContentView(tv); } catch (Exception e) { e.printStackTrace(); } } } 

main.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout> 

The Android manifest file also allowed the use of the Internet.

So why I see [Ljava.lang.String; @ 44f565fo dis messages?

this is my logcat window:

 05-23 14:15:10.371: D/AndroidRuntime(3876): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 05-23 14:15:10.371: D/AndroidRuntime(3876): CheckJNI is ON 05-23 14:15:10.520: D/AndroidRuntime(3876): --- registering native functions --- 05-23 14:15:11.191: D/dalvikvm(179): GC_EXPLICIT freed 133 objects / 6720 bytes in 52ms 05-23 14:15:11.231: D/PackageParser(71): Scanning package: /data/app/vmdl70326.tmp 05-23 14:15:11.241: W/PackageParser(71): Unknown element under <application>: uses-permission at /data/app/vmdl70326.tmp Binary XML file line #21 05-23 14:15:11.341: I/PackageManager(71): Removing non-system package:com.retailer.client 05-23 14:15:11.341: I/ActivityManager(71): Force stopping package com.retailer.client uid=10040 05-23 14:15:11.361: I/Process(71): Sending signal. PID: 3868 SIG: 9 05-23 14:15:11.381: I/WindowManager(71): WIN DEATH: Window{44fbd530 com.retailer.client/com.retailer.client.RetailerActivity paused=false} 05-23 14:15:11.401: I/UsageStats(71): Unexpected resume of pack.GetImage while already resumed in com.retailer.client 05-23 14:15:11.421: W/InputManagerService(71): Got RemoteException sending setActive(false) notification to pid 3868 uid 10040 05-23 14:15:11.810: D/PackageManager(71): Scanning package com.retailer.client 05-23 14:15:11.810: I/PackageManager(71): Package com.retailer.client codePath changed from /data/app/com.retailer.client-2.apk to /data/app/com.retailer.client-1.apk; Retaining data and using new 05-23 14:15:11.810: I/PackageManager(71): /data/app/com.retailer.client-1.apk changed; unpacking 05-23 14:15:11.820: D/installd(35): DexInv: --- BEGIN '/data/app/com.retailer.client-1.apk' --- 05-23 14:15:12.000: D/dalvikvm(3883): DexOpt: 'Lorg/xmlpull/v1/XmlPullParser;' has an earlier definition; blocking out 05-23 14:15:12.000: D/dalvikvm(3883): DexOpt: 'Lorg/kxml2/io/KXmlParser;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/xmlpull/v1/XmlSerializer;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/kxml2/io/KXmlSerializer;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/kxml2/kdom/Node;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/kxml2/kdom/Document;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/kxml2/kdom/Element;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/xmlpull/v1/XmlPullParserException;' has an earlier definition; blocking out 05-23 14:15:12.010: D/dalvikvm(3883): DexOpt: 'Lorg/xmlpull/v1/XmlPullParserFactory;' has an earlier definition; blocking out 05-23 14:15:12.111: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.111: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.111: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.111: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.111: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.111: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.121: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.131: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParser;' 05-23 14:15:12.131: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/kxml2/io/KXmlSerializer;' 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/xmlpull/v1/XmlPullParser;': multiple definitions 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/kxml2/io/KXmlParser;': multiple definitions 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/xmlpull/v1/XmlSerializer;': multiple definitions 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/kxml2/io/KXmlSerializer;': multiple definitions 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/kxml2/kdom/Node;': multiple definitions 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/kxml2/kdom/Document;': multiple definitions 05-23 14:15:12.141: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/kxml2/kdom/Element;': multiple definitions 05-23 14:15:12.141: I/dalvikvm(3883): DexOpt: not resolving ambiguous class 'Lorg/xmlpull/v1/XmlPullParserException;' 05-23 14:15:12.161: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/xmlpull/v1/XmlPullParserException;': multiple definitions 05-23 14:15:12.161: D/dalvikvm(3883): DexOpt: not verifying 'Lorg/xmlpull/v1/XmlPullParserFactory;': multiple definitions 05-23 14:15:12.171: D/dalvikvm(3883): DexOpt: load 53ms, verify 150ms, opt 7ms 05-23 14:15:12.181: D/installd(35): DexInv: --- END '/data/app/com.retailer.client-1.apk' (success) --- 05-23 14:15:12.191: W/PackageManager(71): Code path for pkg : com.retailer.client changing from /data/app/com.retailer.client-2.apk to /data/app/com.retailer.client-1.apk 05-23 14:15:12.191: W/PackageManager(71): Resource path for pkg : com.retailer.client changing from /data/app/com.retailer.client-2.apk to /data/app/com.retailer.client-1.apk 05-23 14:15:12.191: D/PackageManager(71): Activities: com.retailer.client.RetailerActivity 05-23 14:15:12.201: I/ActivityManager(71): Force stopping package com.retailer.client uid=10040 05-23 14:15:12.331: I/installd(35): move /data/dalvik-cache/ data@app @ com.retailer.client-1.apk@classes.dex -> /data/dalvik-cache/ data@app @ com.retailer.client-1.apk@classes.dex 05-23 14:15:12.331: D/PackageManager(71): New package installed in /data/app/com.retailer.client-1.apk 05-23 14:15:12.490: I/ActivityManager(71): Force stopping package com.retailer.client uid=10040 05-23 14:15:12.630: D/dalvikvm(71): GC_EXPLICIT freed 7314 objects / 513320 bytes in 113ms 05-23 14:15:12.890: D/dalvikvm(71): GC_EXPLICIT freed 2977 objects / 155072 bytes in 101ms 05-23 14:15:12.890: D/dalvikvm(190): GC_EXPLICIT freed 878 objects / 50848 bytes in 197ms 05-23 14:15:12.950: W/RecognitionManagerService(71): no available voice recognition services found 05-23 14:15:13.081: I/installd(35): unlink /data/dalvik-cache/ data@app @ com.retailer.client-2.apk@classes.dex 05-23 14:15:13.100: D/AndroidRuntime(3876): Shutting down VM 05-23 14:15:13.100: D/dalvikvm(3876): Debugger has detached; object registry had 1 entries 05-23 14:15:13.131: I/dalvikvm(3876): JNI: AttachCurrentThread (from ???.???) 05-23 14:15:13.131: I/AndroidRuntime(3876): NOTE: attach of thread 'Binder Thread #3' failed 05-23 14:15:13.530: D/AndroidRuntime(3889): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 05-23 14:15:13.530: D/AndroidRuntime(3889): CheckJNI is ON 05-23 14:15:13.670: D/AndroidRuntime(3889): --- registering native functions --- 05-23 14:15:14.271: I/ActivityManager(71): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.retailer.client/.RetailerActivity } 05-23 14:15:14.301: I/ActivityManager(71): Start proc com.retailer.client for activity com.retailer.client/.RetailerActivity: pid=3895 uid=10040 gids={} 05-23 14:15:14.331: D/AndroidRuntime(3889): Shutting down VM 05-23 14:15:14.341: D/dalvikvm(3889): Debugger has detached; object registry had 1 entries 05-23 14:15:14.381: I/dalvikvm(3889): JNI: AttachCurrentThread (from ???.???) 05-23 14:15:14.381: I/AndroidRuntime(3889): NOTE: attach of thread 'Binder Thread #3' failed 05-23 14:15:14.500: D/dalvikvm(33): GC_EXPLICIT freed 259 objects / 10016 bytes in 189ms 05-23 14:15:14.630: D/dalvikvm(33): GC_EXPLICIT freed 17 objects / 712 bytes in 96ms 05-23 14:15:14.840: D/dalvikvm(33): GC_EXPLICIT freed 2 objects / 48 bytes in 214ms 05-23 14:15:15.020: W/System.err(3895): java.net.SocketException: Permission denied 05-23 14:15:15.020: W/System.err(3895): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method) 05-23 14:15:15.030: W/System.err(3895): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186) 05-23 14:15:15.030: W/System.err(3895): at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265) 05-23 14:15:15.030: W/System.err(3895): at java.net.Socket.checkClosedAndCreate(Socket.java:873) 05-23 14:15:15.030: W/System.err(3895): at java.net.Socket.connect(Socket.java:1020) 05-23 14:15:15.030: W/System.err(3895): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62) 05-23 14:15:15.030: W/System.err(3895): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88) 05-23 14:15:15.030: W/System.err(3895): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927) 05-23 14:15:15.030: W/System.err(3895): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909) 05-23 14:15:15.040: W/System.err(3895): at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:46) 05-23 14:15:15.040: W/System.err(3895): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:68) 05-23 14:15:15.040: W/System.err(3895): at com.retailer.client.RetailerActivity.onCreate(RetailerActivity.java:31) 05-23 14:15:15.040: W/System.err(3895): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-23 14:15:15.040: W/System.err(3895): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 05-23 14:15:15.040: W/System.err(3895): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 05-23 14:15:15.040: W/System.err(3895): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 05-23 14:15:15.040: W/System.err(3895): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 05-23 14:15:15.040: W/System.err(3895): at android.os.Handler.dispatchMessage(Handler.java:99) 05-23 14:15:15.040: W/System.err(3895): at android.os.Looper.loop(Looper.java:123) 05-23 14:15:15.040: W/System.err(3895): at android.app.ActivityThread.main(ActivityThread.java:4627) 05-23 14:15:15.050: W/System.err(3895): at java.lang.reflect.Method.invokeNative(Native Method) 05-23 14:15:15.050: W/System.err(3895): at java.lang.reflect.Method.invoke(Method.java:521) 05-23 14:15:15.050: W/System.err(3895): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-23 14:15:15.050: W/System.err(3895): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-23 14:15:15.050: W/System.err(3895): at dalvik.system.NativeStart.main(Native Method) 05-23 14:15:15.241: I/ActivityManager(71): Displayed activity com.retailer.client/.RetailerActivity: 945 ms (total 945 ms) 05-23 14:15:15.421: W/InputManagerService(71): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@44eb2660 (uid=10049 pid=3808) 
+4
source share
2 answers

Error here

 W/System.err(3895): java.net.SocketException: Permission denied 

http://docs.oracle.com/javase/1.4.2/docs/api/java/net/SocketException.html

Call stack readout

 14:15:15.040: W/System.err(3895): at com.retailer.client.RetailerActivity.onCreate(RetailerActivity.java:31 

which indicates a problem with permissions during execution

 ht.call(SOAP_ACTION, envelope); 

SocketException: permission denied?

Use another web service testing tool, such as SoapUi , to find out if you can connect to this web service from the machine on which you are running your emulator.

0
source

Perhaps you see this value because you are using the TextView.append() method.

If you check the documentation for this class , you will see that the string is converted to Charsequence.class, and then you have an array of characters again ... So, what you print is just the value of the array instance. It can simply convert the array to string using the .toString() method:

 setContentView(tv.toString()); 
0
source

Source: https://habr.com/ru/post/1416585/


All Articles