转自: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接口参数(转)的更多相关文章

  1. java 获取实体类对象属性值的方法

    在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...

  2. Mybaits 源码解析 (八)----- 全网最详细,没有之一:结果集 ResultSet 自动映射成实体类对象(上篇)

    上一篇文章我们已经将SQL发送到了数据库,并返回了ResultSet,接下来就是将结果集 ResultSet 自动映射成实体类对象.这样使用者就无需再手动操作结果集,并将数据填充到实体类对象中.这可大 ...

  3. NSDictionary转化为实体类对象

    方法一: 使用objective-c NSObject自带的方法 setValuesForKeysWithDictionary:dict 作用是: 如果NSDictionary中的key和实体类对象的 ...

  4. 我写了一个java实体类,implements了Serializable接口,然后我如何让serialversionUID自动生成

    写了一个java实体类,implements了Serializable接口,让serialversionUID自动生成方法: 1.点击类旁边的警告符号: 2.选择Add generated seria ...

  5. 使用myeclipse创建带注解的model实体类

    1.先新建JPA项目: 如果没有就点击左下角的Show All Wizards. 点两次Next后,点击Finish即可,中间不用任何操作 (点第二次Next后会出现连接到所在数据库,先不管)     ...

  6. @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法

    JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...

  7. Hibernate_day02--课程安排_主键生成策略_对实体类crud操作_实体类对象状态

    Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) ...

  8. 使用fastjson 进行jsonObject转实体类对象

    使用fastjson 进行jsonObject转实体类对象   1 <dependency> 2 <groupId>com.alibaba</groupId> 3 ...

  9. solr搜索结果转实体类对象的两种方法

    问题:就是把从solr搜索出来的结果转成我们想要的实体类对象,很常用的情景. 1.使用@Field注解 @Field这个注解放到实体类的属性[字段]中,例如下面 public class User{ ...

随机推荐

  1. Windows下一个SlikSVN使用

    我相信所有的应SVN不熟悉.使用过.可是并非人人都自己配置过SVNserver.以下就是我配置SVNserver的步骤.以及在配置过程中碰见的一些问题,在此记录,希望对你有所帮助. 安装 双击执行&q ...

  2. 远程访问mysql(转)

    GRANT ALL PRIVILEGES ON *.* TO '<username>'@'<remote addr or %(for all ip addr)>'IDENTIF ...

  3. Hadoop Streaming 得到mapreduce_map_input_file中遇到的问题的版本号

    1.Hadoop Streaming,您可以在任务获得hadoop设置环境变量, 例如,使用awk书面map从而能获得:filename = ENVIRON["mapreduce_map_i ...

  4. Redis源代码分析(十一年)--- memtest内存测试

    今天,我们继续redis源代码test下测试在封装中的其它文件.今天读数memtest档,翻译了,那是,memory test 存储器测试工具..可是里面的提及了非常多东西,也给我涨了非常多见识,网上 ...

  5. OR1200数据Cache介绍

    以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 上一章剖析了ICache模块. 本章将剖析DCache模块.首先指出DCache模块相比ICache的特别之处.由于这 ...

  6. JUnit4.8.2来源分析-2 org.junit.runner.Request

    JUnit4.8.2源代码,最为yqj2065兴趣是org.junit.runner.Request,现在是几点意味着它? ①封装JUnit的输入 JUnit4作为信息处理单元,它的输入是单元測试类- ...

  7. 数组排序、递归——(Java学习笔记二)

    升序:      选择排序:         选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置         先出现最小值,最后出现最大值. public stat ...

  8. 框架搭建资源 (二) 添加M(模型)

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  9. MongoDB详解学习历程

    MongoDB是一个基于分布式文件存储的数据库,它是介于关系数据库和非关系数据库之间的产品. MongoDB支持的数据结构非常松散,类似json的bjson格式,因此可以存储比较复杂的数据类型.Mon ...

  10. 突破IP限制动态替换代理ip。

    须要导入的两个jar包 实现的javabean <span style="font-size:18px;">package com.jx.po; public clas ...