ksoap2 webservice服务器怎么写
下面使用KSOAP2的步骤来编写调用WebService的客户端程序,代码如下:
1
//new
一个连接Webservice的类,这个类下面给出。webserviceUrl为//Webservice的连接地址,nameSpace为命名空间
2
private
ConWebService
conWebService
=
new
ConWebService(
3
webserviceUrl
,nameSpace);
4
5
//给出一个中间层调用的方法,返还String数组
6
public
ArrayList<String>
getDate(String
key)
7
{
8
ArrayList<String>
arrayList
=
new
ArrayList<String>();
9
//添加参数,这个参数可以是多个循环添加即可
10
//如
11
//PropertyInfo
pro[]
=
new
PropertyInfo[2];
12
//for
(int
i
=
0;
i
<
2;
i++)
13
//{
14
//pro[i]
=
new
PropertyInfo();
15
//}
16
//pro[0]setName("sqlName");
17
//pro[0]setValue(sqlName);
18
//pro[1]setName("date");
19
//pro[1]setValue(date);
20
PropertyInfo
pro
=
new
PropertyInfo();
21
prosetName("key");
22
prosetValue(key);
23
arrayList
=conWebServicegetSoapData("getData",
pro);
24
return
arrayList;
25
}
下面的这个ConWebservice类是主要实现获取数据的功能了。给出关键代码
1
public
ArrayList<String>
getSoapData(String
methodName,
PropertyInfo
pros)
2
{
3
ArrayList<String>
resultList
=
new
ArrayList<String>();
4
5
//1创建SoapObject对象,并指定WebService的命名空间和调用的方法名
6
SoapObject
soapObject
=
new
SoapObject(NameSpace,
methodName);
7
8
//2设置SoapAction
9
soapAction
=
NameSpace
+
methodName;
10
11
//2设置WebService方法的参数(以不定参数为例)
12
if
(proslength
>
0)
13
{
14
for
(PropertyInfo
pro
:
pros)
15
{
16
soapObjectaddProperty(pro);
17
}
18
}
19
//创建SoapSerializationEnvelope对象,生成调用WebService方法的SOAP请求信息,并指定WebService
Soap协议的版本
20
SoapSerializationEnvelope
envelope
=
new
SoapSerializationEnvelope(
SoapEnvelopeVER12
);
21
22
23
//设置bodyOut属性
(SoapEnvelope类中,设置发送的数据和接收数据,分别使用方法:bodyOut,bodyIn)
24
envelopebodyOut
=
soapObject;
25
26
//
设置是否调用的是DotNet开发的WebService
27
envelopedotNet
=
true;
28
29
//创建HttpTransportSE对象,并指定WSDL文档的URL
30
HttpTransportSE
transport
=
new
HttpTransportSE(WebserviceUrl);
31
try
32
{
33
transportcall(soapAction,
envelope);
34
if
(envelopegetResponse()
!=
null)
35
{
36
//
获取服务器返回的SOAP消息————接收数据
37
SoapObject
result
=
(SoapObject)
envelopebodyIn;
38
39
//getProperty这个方法相当取中间参数名为soapObjectgetName()
+
"Result"的value,当然也可以按索引取值
40
SoapObject
detail
=
(SoapObject)
resultgetProperty(soapObjectgetName()
+
"Result");
41
42
//
解析服务器的SOAP消息
43
int
count
=
detailgetPropertyCount();
44
for
(int
i
=
0;
i
<
count;
i++)
45
{
46
resultListadd(detailgetProperty(i)toString());
47
}
48
49
}50
}
基本上每行都有注释,就不多废话了。
当然,我这个Webservice传送过来的是一个String。当然,如果对不限XML复杂的话,也可以试试解析解析XML。
故障现象
使用Windows Vista系统,恢复自行备份后,出现“User Profile Service服务未能登录,无法加载用户配置文件”如下图:

原因分析
User Profile Service服务负责加载和卸载用户配置文件。如果已停止或禁用此服务,用户将无法再成功登录或注销,应用程序在获取用户数据时可能会出问题,而且为接收配置文件事件通知注册的组件将无法接收这些通知。出现此类问题有可能是该服务被禁用,通过进入安全模式将该服务设置为启动,即可解决。
解决方案
一、开启此服务
1、重新启动计算机开机时连续点击F8,选择进入安全模式。
2、开始-在搜索栏中输入servicesmsc /s(如图)

弹出用户帐户控制对话框后选择同意,进入本地服务设置,找到User Profile Service服务(如图)

双击出现属性对话框,将启动类型设置为自动(如图)

确定后重新启动计算机。
二、如果上述操作无效的情况下,可以执行以下操作:
1、按F8进入安全模式。
2、重新添加一个用户帐户,具体的操作方法请参加知识库文档:知识编号:
3、重新启动计算机以新帐户登录即可解决。
注意:此方法重新建立帐户以后,原帐户的设置都将丢失。
重装系统就好了!
用U盘安装系统
1、制作PE启动盘。(W7系统至少8G U盘,XP系统4G U盘,当然越大越好,可以存放多种系统)下载老毛桃、大白菜一类的PE启动U盘制作软件,按提示制作好启动盘。
2、下载一个需要安装的系统,网上一般是光盘镜像文件ISO型系统文件、或者也可以只取GHOSTGHO系统文件备份,复制到你制作好的PE启动盘上。
3、用U盘启动电脑:插入U盘电脑开机,按DEL或其它键进入BIOS,设置从USB—HDD或者USB—ZIP、USB—CDROM,总之就是设置U盘启动优先就行。当然新电脑,也可以使用启动菜单选择键。这种方法更简单,不过一定要找到那个键是启动菜单选择键。
4、进入PE界面后,如果需要重新对硬盘分区、格式化,可以利用PE工具程序,如Diskgenius来完成。注意:对硬盘进入分区、格式化,所有盘的资料全部没有了,先转移电脑中的有用文件。
5、安装系统。然后用U盘PE系统启动电脑,根据你的U盘启动菜单提示安装系统,多用里面GHOST方法安装。 当然如果这些你都不明白,你还是找人安装吧!
0条评论