我想从我的Android应用程序登录Saop Webservice但不能? [英] I want to login to Saop Webservice from my Android App but not able to?

查看:65
本文介绍了我想从我的Android应用程序登录Saop Webservice但不能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法登录我的网络服务如果您可以查看它并查找错误并告诉我,请使用哪种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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆