webservice返回对象(怎么接收webservice 返回的对象)

本文目录
- 怎么接收webservice 返回的对象
- 求教Webservice能否返回Document类型
- J2ME能不能接收webservice接口中的方法返回类型为List的对象
- 为什么java中webservice客户端调用都是返回object[],为什么不是object,
怎么接收webservice 返回的对象
webservice不会返回对象,但是可以返回byte转为对象,不就搞定了嘛!
这里有个代码
C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
***隐藏网址***
求教Webservice能否返回Document类型
WebService 服务可以返回任何可序列化的对象.本文代码给出返回基本数据类型及实体类结构示例和调用代码示例.
WebService代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
namespace StudentServer
{
/// 《summary》
/// 本类实现WebService服务
/// 提供对各种数据类型的返回例子
/// 包括:
/// 基本数据类型(string,ini,bool,long,float等)
/// 类结构型(class),必须是可序列化的类
/// DataSet类型
/// 《/summary》
public class Demo : System.Web.Services.WebService
{
public Demo()
{
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}
#region 组件设计器生成的代码
//Web 服务设计器所必需的
private IContainer components = null;
/// 《summary》
/// 设计器支持所需的方法 - 不要使用代码器修改
/// 此方法的内容。
/// 《/summary》
private void InitializeComponent()
{
}
/// 《summary》
/// 清理所有正在使用的资源。
/// 《/summary》
protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion
// WEB 服务示例
// HelloWorld() 示例服务返回字符串 Hello World
// 若要生成,请取消注释下列行,然后保存并生成项目
// 若要测试此 Web 服务,请按 F5 键
/// 《summary》
/// 字符串型
/// 《/summary》
/// 《returns》Hello World《/returns》
public string HelloWorld()
{
return "Hello World";
}
/// 《summary》
/// 整型
/// 《/summary》
/// 《returns》Int《/returns》
public int GetInt()
{
return 1234;
}
/// 《summary》
/// 布尔型
/// 《/summary》
/// 《returns》Bool《/returns》
public bool GetBool()
{
return true;
}
/// 《summary》
/// 返回实体类
/// 必须是已序列化的类
/// 《/summary》
/// 《returns》学生类《/returns》
public Student GetStudent()
{
Student stu = new Student();
stu.Name = "张三";
stu.Age = 25;
stu.Sex = true;
return stu;
}
/// 《summary》
/// 返回DataSet数据类型
/// 《/summary》
/// 《returns》DataSet《/returns》
public DataSet GetDataSet()
{
DataSet ds = new DataSet();
return ds;
}
}
//指示下面的类可序列化
/// 《summary》
/// 学生基本信息类
/// 《/summary》
public class Student
{
/// 《summary》
/// 构造函数
/// 《/summary》
public Student()
{
}
private string name;
/// 《summary》
/// 姓名
/// 《/summary》
public string Name
{
get
{
return name;
}
set
{
name=value;
}
}
private bool sex;
/// 《summary》
/// 性别--布尔型变量真为女,假为男
/// 《/summary》
public bool Sex
{
get
{
return sex;
}
set
{
sex=value;
}
}
private int age;
/// 《summary》
/// 年龄
/// 《/summary》
public int Age
{
get
{
return age;
}
set
{
age=value;
}
}
}
#endregion
}
调用WebService服务示例代码如下:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using StudentClient.localhost;
namespace StudentClient
{
/// 《summary》
/// 调用学生信息
/// 《/summary》
/// 《param name="sender"》《/param》
/// 《param name="e"》《/param》
private void btnStu_Click(object sender, System.EventArgs e)
{
//实例化服务类
Demo dm = new Demo();
//调用返回实体类服务方法
Student stu = dm.GetStudent();
txtName.Text = stu.Name;
txtSex.Text = (stu.Sex==false?"女":"男");
txtAge.Text = stu.Age.ToString();
}
/// 《summary》
/// DataSet数据
/// 《/summary》
/// 《param name="sender"》《/param》
/// 《param name="e"》《/param》
private void btnDataSet_Click(object sender, System.EventArgs e)
{
//实例化服务类
Demo dm = new Demo();
txtOther.Text = dm.GetDataSet().Tables.Count.ToString();
}
/// 《summary》
/// 返回字符串
/// 《/summary》
/// 《param name="sender"》《/param》
/// 《param name="e"》《/param》
private void btnHello_Click(object sender, System.EventArgs e)
{
//实例化服务类
Demo dm = new Demo();
txtOther.Text = dm.HelloWorld();
}
/// 《summary》
/// 返回整型
/// 《/summary》
/// 《param name="sender"》《/param》
/// 《param name="e"》《/param》
private void btnInt_Click(object sender, System.EventArgs e)
{
//实例化服务类
Demo dm = new Demo();
txtOther.Text = dm.GetInt().ToString();
}
/// 《summary》
/// 返回布尔型
/// 《/summary》
/// 《param name="sender"》《/param》
/// 《param name="e"》《/param》
private void btnBool_Click(object sender, System.EventArgs e)
{
//实例化服务类
Demo dm = new Demo();
txtOther.Text = dm.GetBool().ToString();
}
}
}
也可以用过 xmlinclude申明实体类
//一定要加上 xmlinclude这一句,实体类是可序列化的
这里是类方法
J2ME能不能接收webservice接口中的方法返回类型为List的对象
不能, 在与j2me进行网络编程时,通过网络的只能是byte, 不能是对象. j2me也不支持对象序列化,所以要自己实现对象序列化编程.
你可以先将你的对象序列化成byte 数组,通过webservice利用网络传输到客户端,
客户端收到这个byte后,反序列化成对象.
所以这个byte数组中还需要进行一定的协议制订,否则客户端并不知道传过来的是什么.
有几种常见的方法制订通讯协议:
***隐藏网址***
2. 可能自定义协议:在byte中可以指定一定字节来描述本次数据包发过来的内容是什么内容,有多长,有多少子项,将会转化成什么样的对象,等等描述. 一般自定义协议描述比较合适socket编程
为什么java中webservice客户端调用都是返回object[],为什么不是object,
object等,你可以看下
webservice
客户端调用的方法的源代码,看它的
返回值
是怎样写的,应该就明白了

更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50





