关于WSDL中的使用

来源:互联网 发布:电脑板绘软件 编辑:程序博客网 时间:2024/06/13 23:41

最近接手的一个任务是做一个挂号系统(利用医院提供的接口《开发语言C#)医院提供的一个接口是一个yuyue.wsld文档,刚接触到这个文档的时候完全不知道怎么用,看了网上的相关BLog 都说可以直接添加引用,但是我在尝试这种方法的时候,提示错误,最后也没办法了:求助于老大该怎么办,老大提供了如下代码进行wsdl的解析;

 public string GetHospitials()        {                    var args = "<?xml version='1.0' encoding='UTF-8'?>" +        "<S:Envelope xmlns:S='http://schemas.xmlsoap.org/soap/envelope/'>" +        " <S:Body>" +        "     <GetHospInfoReq xmlns='http://new.webservice.namespace'>" +        "         <AuthInfo>" +        "            <UserName>Username</UserName>" +        "            <Password>userpwd</Password>" +        "        </AuthInfo>" +        "        <Filter>" +        "            <OperType>GetHospBasic</OperType>" +        "            <HospName></HospName>" +        "            <DepartName></DepartName>" +        "            <DoctorName></DoctorName>" +        "            <BeginDate></BeginDate>" +        "            <EndDate></EndDate>" +        "        </Filter>" +        "        <NotifyAddr></NotifyAddr>" +        "    </GetHospInfoReq>" +        "    </S:Body>" +        "</S:Envelope>";            var result = HttpHelper.GetHtmlExByByPost("http://xxxxx/szregplat/yuyue.wsdl", args, Encoding.UTF8);            return result;        }
<pre name="code" class="csharp"> public static string GetHtmlExByByPost(string postUrl, string paramData, Encoding dataEncode)    {        string ret = string.Empty;        try        {            byte[] byteArray = dataEncode.GetBytes(paramData); //转化            HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));            webReq.Method = "POST";            webReq.ContentLength = byteArray.Length;            Stream newStream = webReq.GetRequestStream();            newStream.Write(byteArray, 0, byteArray.Length);//写入参数            newStream.Close();            HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();            StreamReader sr = new StreamReader(response.GetResponseStream(), dataEncode);            ret = sr.ReadToEnd();            sr.Close();            response.Close();            newStream.Close();        }        catch (Exception ex)        {            return null;         }        return ret;    }



通过以上两个函数就可以解析出这个WSDL了,可以获取XML格式的医院列表,然后对得到的XML进行再次解析,至于原理还在研究中,其中的yuyue.wsdl代码如下:


<?xml version="1.0" encoding="UTF-8" standalone="no"?><!-- edited with XMLSpy v2010 (http://www.altova.com) by MESMERiZE (MiZE) --><wsdl:description xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:tns="http://new.webservice.namespace" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://new.webservice.namespace">
<wsdl:types>
<xs:schema xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="qualified" targetNamespace="http://new.webservice.namespace">
<xs:element name="GetHospInfoReq">
<xs:annotation>
<xs:documentation>获取医院信息请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:AuthInfo"/>
<xs:element name="Filter">
<xs:annotation>
<xs:documentation>过滤信息</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="OperType">
<xs:annotation>
<xs:documentation>操作类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="GetHospBasic"/>
<xs:enumeration value="GetHospDepartBasic"/>
<xs:enumeration value="GetHospDocBasic"/>
<xs:enumeration value="GetSchedualList"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" ref="tns:HospName"/>
<xs:element minOccurs="0" ref="tns:DepartName"/>
<xs:element minOccurs="0" ref="tns:DoctorName"/>
<xs:element minOccurs="0" name="BeginDate" type="xs:date">
<xs:annotation>
<xs:documentation>排班起始日期(如 2012-12-20)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="EndDate" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="NotifyAddr" type="xs:anyURI">
<xs:annotation>
<xs:documentation>通知地址URL</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetHospInfoRsp">
<xs:annotation>
<xs:documentation>获取医院信息响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:Hospital"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AuthInfo">
<xs:annotation>
<xs:documentation>授权信息</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="UserName">
<xs:annotation>
<xs:documentation>用户名</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
<xs:minLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Password">
<xs:annotation>
<xs:documentation>密码</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Result">
<xs:annotation>
<xs:documentation>返回结果</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ResultCode" type="xs:unsignedLong"/>
<xs:element minOccurs="0" name="ResultMsg" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DepartName">
<xs:annotation>
<xs:documentation>科室名称</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="HospName">
<xs:annotation>
<xs:documentation>医院名称</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DoctorName">
<xs:annotation>
<xs:documentation>医生姓名</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RegistryFee" type="xs:decimal">
<xs:annotation>
<xs:documentation>挂号费</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ClinicFee" type="xs:decimal">
<xs:annotation>
<xs:documentation>门诊费</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NotifyHospInfoReq">
<xs:annotation>
<xs:documentation>通知医院信息变更请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Hospital"/>
<xs:element name="NotifyType">
<xs:annotation>
<xs:documentation>通知类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="GetHospBasic"/>
<xs:enumeration value="GetHospDepartBasic"/>
<xs:enumeration value="GetHospDocBasic"/>
<xs:enumeration value="GetSchedualList"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NotifyHospInfoRsp">
<xs:annotation>
<xs:documentation>通知医院信息变更响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Hospital">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:HospName"/>
<xs:element minOccurs="0" name="HospBasic">
<xs:annotation>
<xs:documentation>医院基本数据</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Grade">
<xs:annotation>
<xs:documentation>医院等级</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Kind">
<xs:annotation>
<xs:documentation>医院性质</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Address">
<xs:annotation>
<xs:documentation>地址</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Phone">
<xs:annotation>
<xs:documentation>电话</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Intro">
<xs:annotation>
<xs:documentation>医院简介</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Depart">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:DepartName"/>
<xs:element minOccurs="0" name="DepartBasic">
<xs:annotation>
<xs:documentation>科室基本信息</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DepartType">
<xs:annotation>
<xs:documentation>科室类别</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="普通"/>
<xs:enumeration value="专家"/>
<xs:enumeration value="普通和专家"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DepartIntro" type="xs:string">
<xs:annotation>
<xs:documentation>科室简介</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Limited" type="xs:unsignedInt">
<xs:annotation>
<xs:documentation>放号限额</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="tns:RegistryFee"/>
<xs:element ref="tns:ClinicFee"/>
<xs:element minOccurs="0" name="DepartSex">
<xs:annotation>
<xs:documentation>科室性别限制</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ChildAge" type="xs:unsignedByte">
<xs:annotation>
<xs:documentation>儿科年龄限制</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:Schedual"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Doctor">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:DoctorName"/>
<xs:element minOccurs="0" name="DocBasic">
<xs:annotation>
<xs:documentation>医生基本信息</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DocSex">
<xs:annotation>
<xs:documentation>医生性别(0男 1女)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DocRank">
<xs:annotation>
<xs:documentation>医生职称</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DocRate" type="xs:unsignedLong">
<xs:annotation>
<xs:documentation>医生星级评分</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="DoctorInro">
<xs:annotation>
<xs:documentation>医生简介</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DocMajor">
<xs:annotation>
<xs:documentation>医生特长</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IsExpert" type="xs:boolean">
<xs:annotation>
<xs:documentation>是否专家</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="tns:RegistryFee"/>
<xs:element ref="tns:ClinicFee"/>
<xs:element minOccurs="0" name="DocPhotoURL" type="xs:anyURI">
<xs:annotation>
<xs:documentation>医生照片链接</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:Schedual"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetRegInfoReq">
<xs:annotation>
<xs:documentation>查询预约信息请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:AuthInfo"/>
<xs:element name="PatientIdentify">
<xs:annotation>
<xs:documentation>患者识别信息</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element minOccurs="0" ref="tns:SN"/>
<xs:element ref="tns:IdCard"/>
<xs:element minOccurs="0" name="Other">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="tns:Name"/>
<xs:element minOccurs="0" ref="tns:Phone"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Filter">
<xs:complexType>
<xs:sequence>
<xs:element name="BeginDate" type="xs:date">
<xs:annotation>
<xs:documentation>就诊起始日期(如 2012-12-20)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EndDate" type="xs:date">
<xs:annotation>
<xs:documentation>就诊结束日期</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" ref="tns:HospName"/>
<xs:element minOccurs="0" ref="tns:DepartName"/>
<xs:element minOccurs="0" ref="tns:DoctorName"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetRegInfoRsp">
<xs:annotation>
<xs:documentation>查询预约信息响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
<xs:element minOccurs="0" name="Patient">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:IdCard"/>
<xs:element ref="tns:Name"/>
<xs:element ref="tns:Phone"/>
<xs:element name="Sex">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Birth" type="xs:date"/>
<xs:element name="InsureType">
<xs:annotation>
<xs:documentation>医保类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="自费"/>
<xs:enumeration value="市民卡"/>
<xs:enumeration value="园区医保"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IsBlocked" type="xs:boolean">
<xs:annotation>
<xs:documentation>是否黑名单</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:PayAccount"/>
<xs:element minOccurs="0" name="FamilyGroup">
<xs:annotation>
<xs:documentation>家庭组</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:IdCard">
<xs:annotation>
<xs:documentation>家庭组标识</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Alias" type="xs:string">
<xs:annotation>
<xs:documentation>别名</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Member">
<xs:annotation>
<xs:documentation>家庭组成员</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:IdCard">
<xs:annotation>
<xs:documentation>成员标识</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="RegInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:HospName"/>
<xs:element ref="tns:SN"/>
<xs:element ref="tns:DepartName"/>
<xs:element minOccurs="0" ref="tns:DoctorName"/>
<xs:element name="SelfPay" type="xs:decimal">
<xs:annotation>
<xs:documentation>自费费用</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InsurePay" type="xs:decimal">
<xs:annotation>
<xs:documentation>医保费用</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RegDateTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>预约时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ClinicDateTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>就诊时间(开始值)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsFetched" type="xs:boolean">
<xs:annotation>
<xs:documentation>是否已经取号</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="FetchDateTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>取号时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsUnPayed" type="xs:boolean">
<xs:annotation>
<xs:documentation>是否未付费</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="UnpayedFee" type="xs:decimal">
<xs:annotation>
<xs:documentation>未付费费用</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IsQuit" type="xs:boolean">
<xs:annotation>
<xs:documentation>是否退号</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="QuitTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>退号时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="tns:RegFrom"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetRegPoolReq">
<xs:annotation>
<xs:documentation>查询号源信息请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:AuthInfo"/>
<xs:element name="Filter">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:HospName"/>
<xs:element ref="tns:DepartName"/>
<xs:element minOccurs="0" ref="tns:DoctorName"/>
<xs:element ref="tns:WorkDate"/>
<xs:element ref="tns:WorkType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetRegPoolRsp">
<xs:annotation>
<xs:documentation>查询号源信息响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="PoolInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:StartTime"/>
<xs:element minOccurs="0" ref="tns:EndTime"/>
<xs:element minOccurs="0" name="TotalNum" type="xs:unsignedInt">
<xs:annotation>
<xs:documentation>本时段号源总数(当本时段仅有1个号时,本字段可省略)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LeftNum" type="xs:unsignedInt">
<xs:annotation>
<xs:documentation>本时段剩余号源数</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="FinishedNum" type="xs:unsignedInt">
<xs:annotation>
<xs:documentation>本时段已就诊人数</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SN" type="xs:string">
<xs:annotation>
<xs:documentation>挂号流水号</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WorkDate" type="xs:date">
<xs:annotation>
<xs:documentation>排班日期</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WorkType">
<xs:annotation>
<xs:documentation>值班类别</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="上午"/>
<xs:enumeration value="下午"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RegisterReq">
<xs:annotation>
<xs:documentation>预约/退号/修改预约请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:AuthInfo"/>
<xs:element name="OperType">
<xs:annotation>
<xs:documentation>操作类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="AddReg"/>
<xs:enumeration value="DelReg"/>
<xs:enumeration value="ModReg"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" ref="tns:SN"/>
<xs:element name="PatientInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:IdCard"/>
<xs:element ref="tns:Name"/>
<xs:element minOccurs="0" ref="tns:Phone"/>
<xs:element minOccurs="0" name="Sex">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Birth" type="xs:date"/>
<xs:element name="InsureType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="自费"/>
<xs:enumeration value="市民卡"/>
<xs:enumeration value="园区医保"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" ref="tns:PayAccount"/>
<xs:element minOccurs="0" ref="tns:IdCard">
<xs:annotation>
<xs:documentation>家庭组标识</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="RegInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:HospName"/>
<xs:element ref="tns:DepartName"/>
<xs:element minOccurs="0" ref="tns:DoctorName"/>
<xs:element minOccurs="0" name="DocRate">
<xs:annotation>
<xs:documentation>医生星级评分</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedLong">
<xs:minInclusive fixed="false" value="0"/>
<xs:maxInclusive fixed="false" value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="tns:WorkDate"/>
<xs:element ref="tns:WorkType"/>
<xs:element ref="tns:StartTime"/>
<xs:element ref="tns:EndTime">
<xs:annotation>
<xs:documentation>号源结束时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="IsPayed" type="xs:boolean">
<xs:annotation>
<xs:documentation>是否已付费</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RegOperType">
<xs:annotation>
<xs:documentation>预约类型</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="RadCheckType">
<xs:annotation>
<xs:documentation>放射检查类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="CT"/>
<xs:enumeration value="MRI"/>
<xs:enumeration value="CR"/>
<xs:enumeration value="DR"/>
<xs:enumeration value="DSA"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BodyCheckSet">
<xs:annotation>
<xs:documentation>体检套餐类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="CliniQueChange">
<xs:complexType>
<xs:sequence>
<xs:element name="OutHospitalCode" type="xs:string">
<xs:annotation>
<xs:documentation>转出机构代码</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OutHospitalName" type="xs:string">
<xs:annotation>
<xs:documentation>转出机构名称</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FromDepartCode" type="xs:string">
<xs:annotation>
<xs:documentation>转出科室代码</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FromDepartName" type="xs:string">
<xs:annotation>
<xs:documentation>转出科室名称</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FromDoctorCode" type="xs:string">
<xs:annotation>
<xs:documentation>转出医生代码</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FromDoctorName" type="xs:string">
<xs:annotation>
<xs:documentation>转出医生名称</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CheckCode" type="xs:string">
<xs:annotation>
<xs:documentation>检查(验)单号</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CheckerName" type="xs:string">
<xs:annotation>
<xs:documentation>检查(验)操作人</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CheckTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>检查(验)时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CliniQueChangeReason" type="xs:string">
<xs:annotation>
<xs:documentation>转诊原因</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MedicalRecord" type="xs:string">
<xs:annotation>
<xs:documentation>病情描述</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PreDiagonsis" type="xs:string">
<xs:annotation>
<xs:documentation>初步判断</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="tns:RegFrom"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RegisterRsp">
<xs:annotation>
<xs:documentation>预约响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
<xs:element minOccurs="0" ref="tns:SN"/>
<xs:element minOccurs="0" name="ClinicSerialNo" type="xs:unsignedInt">
<xs:annotation>
<xs:documentation>就诊序号</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="FetchTime" type="xs:string">
<xs:annotation>
<xs:documentation>取号时间段</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="FetchVerCode" type="xs:string">
<xs:annotation>
<xs:documentation>取号验证码</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IdCard">
<xs:annotation>
<xs:documentation>身份证号码</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="18"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>姓名</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Phone">
<xs:annotation>
<xs:documentation>联系电话</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StartTime" type="xs:time">
<xs:annotation>
<xs:documentation>号源开始时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EndTime" type="xs:time">
<xs:annotation>
<xs:documentation>号源结束时间,当下一个时段开始时间就是本时段结束时间时,可省略本字段</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RegVia">
<xs:annotation>
<xs:documentation>预约途径</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="网站:12320"/>
<xs:enumeration value="网站:挂号网"/>
<xs:enumeration value="网站:移动生活网"/>
<xs:enumeration value="手机:APP"/>
<xs:enumeration value="手机:WAP"/>
<xs:enumeration value="微信:12320"/>
<xs:enumeration value="电话"/>
<xs:enumeration value="诊间预约"/>
<xs:enumeration value="双向转诊"/>
<xs:enumeration value="自助机预约"/>
<xs:enumeration value="电视"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RegFrom">
<xs:annotation>
<xs:documentation>预约来源</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:RegVia"/>
<xs:element minOccurs="0" name="Vendor" type="xs:string">
<xs:annotation>
<xs:documentation>预约前端服务提供商标识</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Operator" type="xs:string">
<xs:annotation>
<xs:documentation>操作员标识</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Schedual">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:WorkDate"/>
<xs:element ref="tns:WorkType"/>
<xs:element name="WorkStatus">
<xs:annotation>
<xs:documentation>排班状态</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="正常"/>
<xs:enumeration value="停诊"/>
<xs:enumeration value="停诊但保留预约"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ExpertFee" type="xs:decimal">
<xs:annotation>
<xs:documentation>专家费</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Remark" type="xs:string">
<xs:annotation>
<xs:documentation>备注</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PayAccount">
<xs:annotation>
<xs:documentation>支付账号</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PayType">
<xs:annotation>
<xs:documentation>支付类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="支付宝"/>
<xs:enumeration value="预充值账户"/>
<xs:enumeration value="微信"/>
<xs:enumeration value="银联"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PayAccountNo" type="xs:string">
<xs:annotation>
<xs:documentation>支付账号</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ExPrivateDataReq">
<xs:annotation>
<xs:documentation>第三方数据交换请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:AuthInfo"/>
<xs:element name="OperType">
<xs:annotation>
<xs:documentation>操作类型</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Update"/>
<xs:enumeration value="Query"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Vendor" type="xs:string">
<xs:annotation>
<xs:documentation>前端服务提供商标识</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Key" type="xs:string">
<xs:annotation>
<xs:documentation>自定义主键</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Data" type="xs:string">
<xs:annotation>
<xs:documentation>私有透明数据</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ExPrivateDataRsp">
<xs:annotation>
<xs:documentation>第三方数据交换响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Data" type="xs:string">
<xs:annotation>
<xs:documentation>私有透明数据</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetNewsReq">
<xs:annotation>
<xs:documentation>第三方获取新闻请求</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:AuthInfo"/>
<xs:element minOccurs="0" name="NewsStartTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>新闻开始时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="NewsEndTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>新闻结束时间</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetNewsRsp">
<xs:annotation>
<xs:documentation>第三方获取新闻响应</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Result"/>
<xs:element minOccurs="0" name="SlidePage">
<xs:annotation>
<xs:documentation>滑动页面URL(手机端)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CreateTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>创建时间</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FirstPage" type="xs:anyURI">
<xs:annotation>
<xs:documentation>滑动页面第一页</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="OtherPage">
<xs:complexType>
<xs:sequence>
<xs:element name="SecondPage" type="xs:anyURI">
<xs:annotation>
<xs:documentation>滑动页面第二页</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ThirdPage" type="xs:anyURI">
<xs:annotation>
<xs:documentation>滑动页面第三页</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="News">
<xs:annotation>
<xs:documentation>新闻</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Title" type="xs:string">
<xs:annotation>
<xs:documentation>新闻标题</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NewsURL" type="xs:anyURI">
<xs:annotation>
<xs:documentation>新闻链接</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CreateTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>新闻时间</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:interface name="SZRegPlat">
<wsdl:operation name="GetHospInfo" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:GetHospInfoReq" messageLabel="In"/>
<wsdl:output element="tns:GetHospInfoRsp" messageLabel="Out"/>
</wsdl:operation>
<wsdl:operation name="NotifyHospInfo" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:NotifyHospInfoReq"/>
<wsdl:output element="tns:NotifyHospInfoRsp"/>
</wsdl:operation>
<wsdl:operation name="GetRegInfo" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:GetRegInfoReq"/>
<wsdl:output element="tns:GetRegInfoRsp"/>
</wsdl:operation>
<wsdl:operation name="GetRegPool" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:GetRegPoolReq"/>
<wsdl:output element="tns:GetRegPoolRsp"/>
</wsdl:operation>
<wsdl:operation name="Register" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:RegisterReq"/>
<wsdl:output element="tns:RegisterRsp"/>
</wsdl:operation>
<wsdl:operation name="ExPrivateData" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:ExPrivateDataReq"/>
<wsdl:output element="tns:ExPrivateDataRsp"/>
</wsdl:operation>
<wsdl:operation name="GetNews" pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="tns:GetNewsReq"/>
<wsdl:output element="tns:GetNewsRsp"/>
</wsdl:operation>
</wsdl:interface>
<wsdl:binding interface="tns:SZRegPlat" name="BindingSoap" type="http://www.w3.org/ns/wsdl/soap" wsoap:protocol="http://www.w3.org/2006/01/soap11/bindings/HTTP/" wsoap:version="1.1">
<wsdl:operation ref="tns:GetHospInfo"/>
<wsdl:operation ref="tns:NotifyHospInfo"/>
<wsdl:operation ref="tns:GetRegInfo"/>
<wsdl:operation ref="tns:GetRegPool"/>
<wsdl:operation ref="tns:Register"/>
<wsdl:operation ref="tns:ExPrivateData"/>
<wsdl:operation ref="tns:GetNews"/>
</wsdl:binding>
<wsdl:service interface="tns:SZRegPlat" name="Service">
<wsdl:endpoint address="http://58.210.226.38:65008/szregplat" binding="tns:BindingSoap" name="Endpoint"/>
</wsdl:service>
</wsdl:description>

0 0