我想从我的Android应用程序登录Saop Webservice但不能? [英] I want to login to Saop Webservice from my Android App but not able to?
问题描述
我无法登录我的网络服务如果您可以查看它并查找错误并告诉我,请使用哪种SOAP。
webservice的用户名 - sushanta
密码-123
包com.example.dotnetlogin ;
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.HttpTransportSE;
公共类WebService {
//名称空间Web服务 - 可以在WSDL中找到
//私有静态字符串NAMESPACE =http://tempuri.org/;
// Webservice URL - WSDL文件位置
//私有静态字符串URL =http://namastii.co.in/Service.asmx;
// SOAP Action URI再次命名空间+ Web方法名称
//私有静态字符串SOAP_ACTION =http://tempuri.org/GetUserDetails;
private static final String SOAP_ACTION =http://www.namastii.co.in/Service.asmx?op=GetUserDetails;
private static final String OPERATION_NAME =GetUserDetails;
private static final String WSDL_TARGET_NAMESPACE =http://namastii.co.in/; < br $>
private static final String SOAP_ADDRESS =http://namastii.co.in/Service.asmx;
public static boolean invokeLoginWS(String username,String passWD,
String webMethName){
boolean loginStatus = false;
//创建请求
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
//保存输入参数的属性
PropertyInfo userName = new P. ropertyInfo();
PropertyInfo password = new PropertyInfo();
//设置用户名
userName.setName(username);
//设定值
userName.setValue(用户名);
//设置数据类型
userName.setType( String.class);
//将属性添加到请求对象
request.addProperty(userName);
//设置密码
password.setName(password);
//设置数据类型
password.setValue(passWD);
//设置dataType
password.setType(String.class);
//将属性添加到请求对象
request.addProperty(密码);
//创建信封
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
/ /设置输出SOAP对象
envelope.setOutputSoapObject(request);
//创建HTTP调用对象
HttpTransportSE androidHttpTransport = new HttpTransportSE(SOAP_ADDRESS);
try {
//调用web服务
androidHttpTransport.call (SOAP_ACTION + OPERATION_NAME,信封);
//获取回复
SoapPrimitive response =(SoapPrimitive)envelope.getResponse();
/ /将其分配给布尔变量变量
loginStatus = Boolean.parseBoolean(response.toString());
} catch(例外e) {
//在静态变量中分配错误状态为'错误'
CheckDNLoginActivity.errored = true;
e.printStackTrace(); < br $>
}
//将booleam返回给调用对象
返回loginStatus;
}
}
检查一下:
如何对呼叫web服务功能于机器人 [< a href =http://programmerguru.com/android-tutorial/how-to-call-java-web-service-in-android/target =_ blanktitle =New Window> ^ ]
I have trouble log into my webservice Which SOAP based please if u can have look at it and find out the error and tell me.
username for webservice-sushanta
password-123
package com.example.dotnetlogin;
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.HttpTransportSE;
public class WebService {
// Namespace of the Webservice - can be found in WSDL
// private static String NAMESPACE = "http://tempuri.org/";
// Webservice URL - WSDL File location
// private static String URL = "http://namastii.co.in/Service.asmx";
// SOAP Action URI again Namespace + Web method name
// private static String SOAP_ACTION = "http://tempuri.org/GetUserDetails";
private static final String SOAP_ACTION = "http://www.namastii.co.in/Service.asmx?op=GetUserDetails";
private static final String OPERATION_NAME = "GetUserDetails";
private static final String WSDL_TARGET_NAMESPACE = "http://namastii.co.in/";
private static final String SOAP_ADDRESS = "http://namastii.co.in/Service.asmx";
public static boolean invokeLoginWS(String username, String passWD,
String webMethName) {
boolean loginStatus = false;
// Create request
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE, OPERATION_NAME);
// Property which holds input parameters
PropertyInfo userName = new PropertyInfo();
PropertyInfo password = new PropertyInfo();
// Set Username
userName.setName("username");
// Set Value
userName.setValue(username);
// Set dataType
userName.setType(String.class);
// Add the property to request object
request.addProperty(userName);
// Set Password
password.setName("password");
// Set dataType
password.setValue(passWD);
// Set dataType
password.setType(String.class);
// Add the property to request object
request.addProperty(password);
// Create envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// Set output SOAP object
envelope.setOutputSoapObject(request);
// Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(SOAP_ADDRESS);
try {
// Invoke web service
androidHttpTransport.call(SOAP_ACTION + OPERATION_NAME, envelope);
// Get the response
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
// Assign it to boolean variable variable
loginStatus = Boolean.parseBoolean(response.toString());
} catch (Exception e) {
// Assign Error Status true in static variable 'errored'
CheckDNLoginActivity.errored = true;
e.printStackTrace();
}
// Return booleam to calling object
return loginStatus;
}
}
Check this:
how-to-call-web-service-in-android[^]
这篇关于我想从我的Android应用程序登录Saop Webservice但不能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!