通过.net

时间:2015-05-15 03:44:11

标签: asp.net web-services wcf soap wsdl

问题描述:

我们正在尝试使用SOAP格式的TIBCO公开的服务,我们在将受限制的复杂类型对象转换为.net对象时遇到问题。我们能够接收SOAP数据包,但无法将其反序列化为有效的c#对象。但是,对象已实例化但没有任何值(值为null)。响应状态为成功,但对象的转换失败。下面是参考的WSDL片段。除了构建自定义反序列化器之外,还有其他更好的方法可以解决这个问题:

<xs:complexType name="GetIndividualByCIMIdResponseType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">
                This response 
            </xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                    <xs:extension base="cst:SimpleResponse">
                        <xs:sequence>
                            <xs:element name="Individual" type="ns0:IndividualRestrictedType" minOccurs="0"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
          <xs:complexType name="IndividualRestrictedType">
                <xs:complexContent>
                    <xs:restriction base="ns0:IndividualType">
                        <xs:sequence>
                            <xs:element name="DoNotMerge" type="ns0:DoNotMergeType" minOccurs="0"/>
                            <xs:element name="PartyIdentifier" type="ns0:CIMIdentifierType" minOccurs="0"/>
                            <xs:element name="EmailAccountList" type="ns0:EmailAccountListType" minOccurs="0"/>
                            <xs:element name="TelephoneServiceList" type="ns0:TelephoneServiceListType" minOccurs="0"/>
                            <xs:element name="AddressList" type="ns0:AddressListType" minOccurs="0"/>
                            <xs:element name="DateOfBirth" type="ns0:DateOfBirthType" minOccurs="0"/>
                            <xs:element name="FamilyName" type="ns0:FamiltyNameType" minOccurs="0"/>
                            <xs:element name="FirstName" type="ns0:FirstNameType" minOccurs="0"/>
                            <xs:element name="Initials" type="ns0:InitialsType" minOccurs="0"/>
                            <xs:element name="MiddleNames" type="ns0:MiddleNamesType" minOccurs="0"/>
                            <xs:element name="PreferredName" type="ns0:PreferredNameType" minOccurs="0"/>
                            <xs:el`enter code here`ement name="Sex" type="ns0:SexType" minOccurs="0"/>
                            <xs:element name="Title" type="ns0:TitleType" minOccurs="0"/>
                            <xs:element name="YearOfBirth" type="ns0:YearOfBirthType" minOccurs="0"/>
                        </xs:sequence>
                    </xs:restriction>
                </xs:complexContent>
            </xs:complexType>

0 个答案:

没有答案