KSOAP ANDROID实现
嗨,我有一个问题与Android K-SOAP有关,我是第一次使用K-SOAP Android 在这里你可以看到请求,这里也提到了响应, 这是我的代码,可以点击服务并获得响应` 包com.ksoap.netKSOAP ANDROID实现,android,ksoap,Android,Ksoap,嗨,我有一个问题与Android K-SOAP有关,我是第一次使用K-SOAP Android 在这里你可以看到请求,这里也提到了响应, 这是我的代码,可以点击服务并获得响应` 包com.ksoap.net import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.PropertyInfo; import org.ksoap2.serialization.SoapObject; import org.kso
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class AndroidWebService extends Activity {
private final String NAMESPACE = "http://webservices.iyogi.net/";
private final String URL = "http://sdservices.iyogi.net /iyogi /webservicesnonrestv5/toolbarwebservices.asmx";
private final String SOAP_ACTION = "http://webservices.iyogi.net/GetSubscriptionByInputObject";
private final String METHOD_NAME = "GetSubscriptionByInputObject";
String request = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<soap:Envelope "
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\">"
+ "<soap:Body>"
+ "<GetSubscriptionByInputObject xmlns=\"http://webservices.iyogi.net\">"
+ "<inpAccessCode>" + "<AccessCode>”2466276627755434”</AccessCode>"
+ "</inpAccessCode>" + "</GetSubscriptionByInputObject>"
+ "</soap:Body>" + "</soap:Envelope>";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String weight = "3700";
String fromUnit = "Grams";
String toUnit = "Kilograms";
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(
URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
int result = Integer.parseInt(response.getProperty(0).toString());
System.out.println("result is " + Integer.toString(result));
System.out.println("res is -->> "
+ response.getProperty(0).toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}`
import org.ksoap2.SoapEnvelope;
导入org.ksoap2.serialization.PropertyInfo;
导入org.ksoap2.serialization.SoapObject;
导入org.ksoap2.serialization.SoapPrimitive;
导入org.ksoap2.serialization.SoapSerializationEnvelope;
导入org.ksoap2.transport.AndroidHttpTransport;
导入org.ksoap2.transport.HttpTransportSE;
导入android.app.Activity;
导入android.os.Bundle;
导入android.util.Log;
导入android.widget.TextView;
公共类AndroidWebService扩展活动{
私有最终字符串命名空间=”http://webservices.iyogi.net/";
专用最终字符串URL="http://sdservices.iyogi.net /iyogi/webservicesnonrestv5/toolbarwebservices.asmx”;
私有最终字符串SOAP_ACTION=”http://webservices.iyogi.net/GetSubscriptionByInputObject";
私有最终字符串方法\u NAME=“GetSubscriptionByInputObject”;
String request=“”
+ ""
+ ""
+ ""
+ "" + "”2466276627755434”"
+ "" + ""
+ "" + "";
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//SoapObject请求=新的SoapObject(名称空间、方法名称);
字符串重量=“3700”;
字符串fromUnit=“Grams”;
字符串toUnit=“千克”;
SoapSerializationEnvelope=新的SoapSerializationEnvelope(
第11版);
envelope.dotNet=true;
envelope.setOutputSoapObject(请求);
AndroidHttpTransport AndroidHttpTransport=新AndroidHttpTransport(
网址);
试一试{
调用(SOAP_操作,信封);
SoapObject响应=(SoapObject)信封.getResponse();
int result=Integer.parseInt(response.getProperty(0.toString());
System.out.println(“结果是”+Integer.toString(结果));
System.out.println(“res是-->>”
+response.getProperty(0.toString());
}捕获(例外e){
e、 printStackTrace();
}
}
}`
请帮助我点击此服务并获得正确的响应
非常感谢您的帮助试试这个
`
`
而且效果很好
干杯快乐编码谢谢您宝贵的回复我收到06-22 11:43:48.588:WARN/System.err(671):SoapFault-faultcode:'soap:Server'faultstring:'服务器无法处理请求。-->对象引用未设置为对象的实例。'faultactor:'null'详细信息:org.kxml2.kdom。Node@40549258我们如何解决这个问题,您的回复非常感谢您宝贵的回复Sir@Braj-很好的笑话,用来提问题不answer@IvanFazaniuk-你和我都不知道你在说什么!
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class AndroidWebService extends Activity {
private final String NAMESPACE = "http://webservices.iyogi.net/";
private final String URL = "http://sdservices.iyogi.net /iyogi /webservicesnonrestv5/toolbarwebservices.asmx";
private final String SOAP_ACTION = "http://webservices.iyogi.net/GetSubscriptionByInputObject";
private final String METHOD_NAME = "GetSubscriptionByInputObject";
private final String URL = "http://sdservices.iyogi.net/iyogi/webservicesnonrestv5/toolbarwebservices.asmx";
HttpTransportSE httpTransport = null;
SoapObject request = null;
request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo pi = new PropertyInfo();
pi.setName("AccessCode");
pi.setValue("2466276627755434");
pi.setType(PropertyInfo.STRING_CLASS);
request.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
httpTransport = new HttpTransportSE(URL);
httpTransport.debug = true;
try {
httpTransport.call(SOAP_ACTION, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
int result = Integer.parseInt(response.getProperty(0).toString());
System.out.println("result is " + Integer.toString(result));
System.out.println("res is -->> "
+ response.getProperty(0).toString());
} catch (Exception e) {
e.printStackTrace();
}
final String URL = "url";
u = new java.net.URL(URL);
URLConnection uc = u.openConnection();
connection = (HttpURLConnection) uc;
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestProperty("SOAPAction", SOAP_ACTION);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-type", "text/xml; charset=utf-8");
String xmldata ="xml request";
//System.out.println(xmldata);
OutputStream out = connection.getOutputStream();
Writer wout = new OutputStreamWriter(out);
wout.write(xmldata);
wout.flush();
wout.close();
InputStream is = connection.getInputStream();
MakeHttpRequest.actiovationParser(is,AndroidWebService.this);