将Model实体类对象作为WebService接口参数(转)
转自:http://www.cnblogs.com/fengyishou/archive/2009/02/27/1399281.html
关于web服务的有关基础知识,看了基本书,但是不敢在这里乱说,因为毕竟没有深究,说出来就被人笑话了。利用vs200X IDE是可以很方便的创建web服务的,并且可以添加web引用方便的调用。
以上这些就不在说了,来说这次的想法吧。
由于实体的方便性(个人认为,欢迎众神拍砖),我希望能在与web服务的通讯过程中继续使用,我在创建web服务时,同样使用了类库,创建相应实体,但是我又想到,这样的对象类型,如果你不暴露出去,调用方是不知道的,那有没有办法解决呢?在园内我看到了众神的文章,发现有一个较为简单的办法,但是不知道是不是最优的办法。
实体类中还是想通常一样,封装属性,就类似于这样:
public class book
{
    public int ID
    {
        set;
        get;
    }
    public string Name
    {
        set;
        get;
    }
}
在webservice中引用这个类库,引用命名空间。编写相应的方法。其实这都不是重点,重点是在代码中需要加入:
using System.Xml.Serialization; [XmlInclude(typeof(book))]
这样,调用方就可以识别你的实体类型了。哦对了,在编写实体类时,在类前加上
[Serializable]
不过,是不是必须的我并没有试,一会试试。
这里需要说的是,在调用方进行调用时,使用类似:
localhost.Service1 ls = new localhost.Service1(); localhost.book lb = new localhost.book(); lb.Name = TextBox1.Text; ls.add(lb);
应当注意,这里并不是直接调用了实体类,而是通过代理类进行调用,所以还是有区别的。
我还是有一些问题没有想好,比如,如果JAVA要掉我的服务,那么这个实体类就不能被识别了吧?可是我又不想去直接传递诸如 int i,string s,等一大串的参数,不知道园内众神有没有能帮忙的。
还有,在.NET中我的查询结果可以直接返回dataset,那么如果JAVA调用呢?list可以么?说需要通用,那么就是数组了吧,或者是XML,应当如何写呢?如果我将结果放到泛型对象中,然后做成json的形式发过去呢?但是.NET这里就不方便了啊,恩,需要想一想了。
*******************经过思考(进行文章内容补充)*********************
进行了尝试,可以将dataset转换成XML格式进行发送,这样理论上无论是什么调用方主要可以操作XML文件就可以了,如果在试的过程中,java的报我wsdl有错误,额.....还没有解决。
关于参数嘛,数组,感觉还是数组最好,属于简单类型,应该都认识,不过还需要尝试。
将Model实体类对象作为WebService接口参数(转)的更多相关文章
- java 获取实体类对象属性值的方法
		
在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...
 - Mybaits 源码解析 (八)----- 全网最详细,没有之一:结果集 ResultSet 自动映射成实体类对象(上篇)
		
上一篇文章我们已经将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集 ResultSet 自动映射成实体类对象.这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中.这可大 ...
 - NSDictionary转化为实体类对象
		
方法一: 使用objective-c NSObject自带的方法 setValuesForKeysWithDictionary:dict 作用是: 如果NSDictionary中的key和实体类对象的 ...
 - 我写了一个java实体类,implements了Serializable接口,然后我如何让serialversionUID自动生成
		
写了一个java实体类,implements了Serializable接口,让serialversionUID自动生成方法: 1.点击类旁边的警告符号: 2.选择Add generated seria ...
 - 使用myeclipse创建带注解的model实体类
		
1.先新建JPA项目: 如果没有就点击左下角的Show All Wizards. 点两次Next后,点击Finish即可,中间不用任何操作 (点第二次Next后会出现连接到所在数据库,先不管) ...
 - @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法
		
JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...
 - Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态
		
Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) ...
 - 使用fastjson 进行jsonObject转实体类对象
		
使用fastjson 进行jsonObject转实体类对象 1 <dependency> 2 <groupId>com.alibaba</groupId> 3 ...
 - solr搜索结果转实体类对象的两种方法
		
问题:就是把从solr搜索出来的结果转成我们想要的实体类对象,很常用的情景. 1.使用@Field注解 @Field这个注解放到实体类的属性[字段]中,例如下面 public class User{ ...
 
随机推荐
- java jdk缓存-128~127的Long与Integer
			
先推断下以下代码的输出结果 Qa:---------------------------------------------- Long a = Long.valueOf(127) ...
 - JavaScript的类型、值和变量的总结
			
前言:JavaScript的数据类型分为两类:原始类型和对象类型.5种原始类型:数字.字符串.布尔值.null(空).undefined(未定义).对象是属性的集合,每个属性都由“名/值对”(值可以是 ...
 - java两个音频进入巩固期 玩的同时类似的伴奏
			
/** * * @param partsPaths 阵列要合成音频路径 * @param unitedFilePath 输入合并结果数组 */ public void uniteWavFile(Str ...
 - 我学的是设计模式的视频教程——装饰图案,装饰图案VS代理模式
			
课程视频 装饰模式 装饰模式VS代理模式1 装饰模式VS代理模式2 课程笔记 课程笔记 课程代码 课程代码 新课程火热报名中 课程介绍 版权声明:本文博主原创文章,博客,未经同意不得转载.
 - kendo ui 单击取消编辑数据grid减少的原因和治疗方法的数据
			
kendo ui单击取消编辑数据buttongrid数据缩减.原因grid编辑数据追打datasorce于data寻找阵列数据的存在.假定有不会加入,加入缺席. 首先一个样本: html代码: < ...
 - 假设动态运行java文字,当在脚本式配置,这是非常方便的
			
package com.bfrj.core.groovy; import java.util.HashMap; import java.util.Map; import org.jeecgframew ...
 - 利用css新属性appearance优化select下拉框
			
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
 - DirectSound应用
			
只是使用的假设PlaySound()这个API函数来显示的声音效果,然后,然后,它不会出现在混合声音,因为PlaySound还有播放期间声音,这将不可避免地导致现有声音停止. 因此,使用 PlaySo ...
 - html转换为纯文本,支持撇号
			
/// <summary> /// html转换为纯文本 /// </summary> /// <param name="source">< ...
 - 经典HTML5小游戏 支持各种浏览器   (围住神经猫)
			
源码地址: http://files.cnblogs.com/files/liujing379069296/MyCat.rar 插件地址:http://files.cnblogs.com/files/ ...