设为首页 加入收藏

TOP

wsdl 关于nillable和minOccurs 在.NET和java中的不同(二)
2019-09-03 03:26:46 】 浏览:118
Tags:wsdl 关于 nillable minOccurs .NET java 不同
l="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> <s:element name="HelloWorld"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="id" type="s:int" /> <!--nillable默认为false,minOccurs等于1:即id元素为必输,且值不能为空--> <s:element minOccurs="1" maxOccurs="1" name="phoneNbr" nillable="true" type="s:int" /> <!--nillable等于true,minOccurs等于1:即phoneNbr元素为必输,但值可以为空--> <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" /> <!--nillable默认为false,minOccurs等于0:即name元素为非必输,但值不能为空--> <s:element minOccurs="0" maxOccurs="1" name="person" type="tns:Person" /> <!--nillable默认为false,minOccurs等于0:即person元素为非必输,但值不能为空--> </s:sequence> </s:complexType> </s:element> <s:complexType name="Person"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="Id" type="s:int" /> <!--nillable默认为false,minOccurs默认为1:即id元素为必输,且值不能为空--> <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" /> <!--nillable默认为false,minOccurs等于0:即Name元素为非必输,但值不能为空--> <s:element minOccurs="1" maxOccurs="1" name="PhoneNbr" nillable="true" type="s:int" /> <!--nillable默认为false,minOccurs等于1:即PhoneNbr元素为必输,但值可以为空--> </s:sequence> </s:complexType> <s:element name="HelloWorldResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" /> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types> </wsdl:definitions>

2.1.4、得出结论  
* id参数和Person.Id属性都为值类型:[元素节点] 都必输,[元素取值] 都不能为空
* phoneNbr参数和Person.PhoneNbr属性都是包装类型:[元素节点] 都必输,但[元素取值] 都可以为空;
* name参数和Person.Name属性都是普通引用类型:[元素节点] 都可以不输,但[元素取值] 都不能为空;
* person参数是普通引用类型:[元素节点] 可以不输,但[元素取值] 不能为空。
2.2 再看Java的规则
首先,先熟悉在eclipse中快速开发webservice程序的步骤,参考链接:http://www.blogjava.net/parable-myth/archive/2010/08/03/327802.html,此次实验采用的就是这种快速开发方式(注:不同的框架和工具会可能会有不同的生成规则),所用ecllipse版本为:
    Version: Juno Service Release 1
    Build id: 20121004-1855
2.2.1、定义数据实体:Person.java

package com.lubiao.axis;

public class Person  implements java.io.Serializable {
    private int id;//编号,值类型
    private java.lang.String name;//姓名,普通引用类型
    private Integer phoneNbr;//电话,包装类型
    
    public int getId() {return id;}
    public void setId(int id) {this.id = id;}
	
    public java.lang.String getName() {return name;}
    public void setName(java.lang.String name) {this.name = name;}

    public Integer getPhoneNbr() {return phoneNbr;}
    public void setPhoneNbr(Inte
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/11/11
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇《深入.NET平台和C#编程》内部测.. 下一篇.NET中使用反射访问属性方法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目