.Net消费iSeries web服务

.Net消费iSeries web服务,.net,wcf,soapui,fiddler,ibm-midrange,.net,Wcf,Soapui,Fiddler,Ibm Midrange,我正在尝试使用.Net使用iseries web服务。我已经成功地与iSeries上的其他web服务进行了通信,但是对于这个特定的服务,我遇到了一个非常奇怪的问题 下面是来自iSeries的web服务的wsdl <?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="

我正在尝试使用.Net使用iseries web服务。我已经成功地与iSeries上的其他web服务进行了通信,但是对于这个特定的服务,我遇到了一个非常奇怪的问题

下面是来自iSeries的web服务的wsdl

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://example.com/ZCntInfFr/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ZCntInfFr"
targetNamespace="http://example.com/ZCntInfFr/">
<wsdl:types>
    <xsd:schema targetNamespace="http://example.com/ZCntInfFr/">
        <xsd:element name="GetContactInfoOperation">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="ShipToAcct" minOccurs="1"
                        maxOccurs="1">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:string">
                                <xsd:length value="6"></xsd:length>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:element name="GetContactInfoOperationResponse">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="Contacts"
                        type="tns:ContactsType" minOccurs="1" maxOccurs="1">
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
        <xsd:complexType name="ContactDataType">
            <xsd:sequence maxOccurs="unbounded" minOccurs="0">
                <xsd:element name="ContactType" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="5"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactTypeDesc" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="50"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactName" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="25"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactTitle" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="20"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactEmail" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="128"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactPhone" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="15"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactExtension" minOccurs="0"
                    maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="5"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="ContactFax" minOccurs="0" maxOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:minLength value="0"></xsd:minLength>
                            <xsd:maxLength value="15"></xsd:maxLength>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
    </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="ContactsType">
            <xsd:sequence maxOccurs="unbounded" minOccurs="0">
                <xsd:element name="ContactData" type="tns:ContactDataType" maxOccurs="1" minOccurs="0"></xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:schema>
</wsdl:types>
<wsdl:message name="GetContactInfoOperationRequest">
    <wsdl:part name="parameters" element="tns:GetContactInfoOperation"></wsdl:part>
</wsdl:message>
<wsdl:message name="GetContactInfoOperationResponse">
    <wsdl:part name="parameters" element="tns:GetContactInfoOperationResponse"></wsdl:part>
</wsdl:message>
<wsdl:portType name="ZCntInfFr">
    <wsdl:operation name="GetContactInfoOperation">
        <wsdl:input message="tns:GetContactInfoOperationRequest"></wsdl:input>
        <wsdl:output message="tns:GetContactInfoOperationResponse"></wsdl:output>
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ZCntInfFrSOAP" type="tns:ZCntInfFr">
    <soap:binding style="document"
        transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="GetContactInfoOperation">
        <soap:operation
            soapAction="http://example.com/ZCntInfFr/GetContactInfoOperation" />
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
<wsdl:service name="ZCntInfFr">
    <wsdl:port binding="tns:ZCntInfFrSOAP" name="ZCntInfFrSOAP">
        <soap:address location="http://server:8181/myrxs/ZCntInfFr" />
    </wsdl:port>
</wsdl:service>
类别:

namespace Services.Web.Proxy.ISeriesContact
{
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace = "http://example.com/ZCntInfFr/", ConfigurationName = "Services.Web.Proxy.ISeriesContact.ZCntInfFr")]
    public interface ZCntInfFr
    {
        // CODEGEN: Parameter 'Contacts' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
        [System.ServiceModel.OperationContractAttribute(Action = "http://example.com/ZCntInfFr/GetContactInfoOperation", ReplyAction = "*")]
        [System.ServiceModel.XmlSerializerFormatAttribute()]
        [return: System.ServiceModel.MessageParameterAttribute(Name = "Contacts")]
        Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse GetContactInfoOperation(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request);

        [System.ServiceModel.OperationContractAttribute(Action = "http://example.com/ZCntInfFr/GetContactInfoOperation", ReplyAction = "*")]
        System.Threading.Tasks.Task<Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse> GetContactInfoOperationAsync(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request);
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example.com/ZCntInfFr/")]
    public partial class ContactDataType
    {

        private string[] itemsField;

        private ItemsChoiceType[] itemsElementNameField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContactEmail", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactExtension", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactFax", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactName", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactPhone", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactTitle", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactType", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactTypeDesc", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public string[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order = 1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType[] ItemsElementName
        {
            get
            {
                return this.itemsElementNameField;
            }
            set
            {
                this.itemsElementNameField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example.com/ZCntInfFr/", IncludeInSchema = false)]
    public enum ItemsChoiceType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactEmail")]
        ContactEmail,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactExtension")]
        ContactExtension,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactFax")]
        ContactFax,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactName")]
        ContactName,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactPhone")]
        ContactPhone,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactTitle")]
        ContactTitle,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactType")]
        ContactType,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactTypeDesc")]
        ContactTypeDesc,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example.com/ZCntInfFr/")]
    public partial class ContactsType
    {

        private ContactDataType[] contactDataField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContactData", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        public ContactDataType[] ContactData
        {
            get
            {
                return this.contactDataField;
            }
            set
            {
                this.contactDataField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName = "GetContactInfoOperation", WrapperNamespace = "http://example.com/ZCntInfFr/", IsWrapped = true)]
    public partial class GetContactInfoOperationRequest
    {

        [System.ServiceModel.MessageBodyMemberAttribute(Namespace = "http://example.com/ZCntInfFr/", Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string ShipToAcct;

        public GetContactInfoOperationRequest()
        {
        }

        public GetContactInfoOperationRequest(string ShipToAcct)
        {
            this.ShipToAcct = ShipToAcct;
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName = "GetContactInfoOperationResponse", WrapperNamespace = "http://example.com/ZCntInfFr/", IsWrapped = true)]
    public partial class GetContactInfoOperationResponse
    {

        [System.ServiceModel.MessageBodyMemberAttribute(Namespace = "http://example.com/ZCntInfFr/", Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public Services.Web.Proxy.ISeriesContact.ContactsType Contacts;

        public GetContactInfoOperationResponse()
        {
        }

        public GetContactInfoOperationResponse(Services.Web.Proxy.ISeriesContact.ContactsType Contacts)
        {
            this.Contacts = Contacts;
        }
    }

    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface ZCntInfFrChannel : Services.Web.Proxy.ISeriesContact.ZCntInfFr, System.ServiceModel.IClientChannel
    {
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class ZCntInfFrClient : System.ServiceModel.ClientBase<Services.Web.Proxy.ISeriesContact.ZCntInfFr>, Services.Web.Proxy.ISeriesContact.ZCntInfFr
    {

        public ZCntInfFrClient()
        {
        }

        public ZCntInfFrClient(string endpointConfigurationName) :
            base(endpointConfigurationName)
        {
        }

        public ZCntInfFrClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
        {
        }

        public ZCntInfFrClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
        {
        }

        public ZCntInfFrClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
            base(binding, remoteAddress)
        {
        }

        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse Services.Web.Proxy.ISeriesContact.ZCntInfFr.GetContactInfoOperation(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request)
        {
            return base.Channel.GetContactInfoOperation(request);
        }

        public Services.Web.Proxy.ISeriesContact.ContactsType GetContactInfoOperation(string ShipToAcct)
        {
            Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest inValue = new Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest();
            inValue.ShipToAcct = ShipToAcct;
            Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse retVal = ((Services.Web.Proxy.ISeriesContact.ZCntInfFr)(this)).GetContactInfoOperation(inValue);
            return retVal.Contacts;
        }

        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse> Services.Web.Proxy.ISeriesContact.ZCntInfFr.GetContactInfoOperationAsync(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request)
        {
            return base.Channel.GetContactInfoOperationAsync(request);
        }

        public System.Threading.Tasks.Task<Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse> GetContactInfoOperationAsync(string ShipToAcct)
        {
            Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest inValue = new Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest();
            inValue.ShipToAcct = ShipToAcct;
            return ((Services.Web.Proxy.ISeriesContact.ZCntInfFr)(this)).GetContactInfoOperationAsync(inValue);
        }
    }
}
namespace Services.Web.Proxy.ISeriesContact
{
[System.CodeDom.Compiler.GeneratedCodeAttribute(“System.ServiceModel”,“4.0.0.0”)]
[System.ServiceModel.ServiceContractAttribute(命名空间=”http://example.com/ZCntInfFr/,ConfigurationName=“Services.Web.Proxy.ISeriesContact.zcontinffr”)]
公共接口ZcontinFFR
{
//CODEGEN:参数“Contacts”需要无法使用参数模式捕获的其他架构信息。特定属性为“System.Xml.Serialization.XmlElementAttribute”。
[System.ServiceModel.OperationContractAttribute(操作=”http://example.com/ZCntInfFr/GetContactInfoOperation“,ReplyAction=“*”)]
[System.ServiceModel.XmlSerializerFormatAttribute()]
[返回:System.ServiceModel.MessageParameterAttribute(Name=“Contacts”)]
Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse GetContactInfoOperation(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest);
[System.ServiceModel.OperationContractAttribute(操作=”http://example.com/ZCntInfFr/GetContactInfoOperation“,ReplyAction=“*”)]
System.Threading.Tasks.Task GetContactInfoOperationAsync(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest请求);
}
/// 
[System.CodeDom.Compiler.GeneratedCodeAttribute(“svcutil”,“4.0.30319.33440”)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
[System.Xml.Serialization.XmlTypeAttribute(命名空间=”http://example.com/ZCntInfFr/")]
公共部分类ContactDataType
{
私有字符串[]项字段;
private ItemsChoiceType[]itemsElementNameField;
/// 
[System.Xml.Serialization.xmlementAttribute(“ContactEmail”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0]
[System.Xml.Serialization.xmlementAttribute(“ContactExtension”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0]
[System.Xml.Serialization.xmlementAttribute(“ContactFax”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0]
[System.Xml.Serialization.xmlementAttribute(“ContactName”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0)]
[System.Xml.Serialization.xmlementAttribute(“ContactPhone”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0]
[System.Xml.Serialization.XmlElementAttribute(“ContactTitle”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0]
[System.Xml.Serialization.XmlElementAttribute(“ContactType”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0]
[System.Xml.Serialization.xmlementAttribute(“ContactTypeDesc”,typeof(string),Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0)]
[System.Xml.Serialization.XmlChoiceIdentifierAttribute(“ItemsElementName”)]
公共字符串[]项
{
得到
{
返回此.itemsField;
}
设置
{
this.itemsField=值;
}
}
/// 
[System.Xml.Serialization.XmlElementAttribute(“ItemsElementName”,顺序=1)]
[System.Xml.Serialization.XmlIgnoreAttribute()]
public ItemsChoiceType[]ItemsElementName
{
得到
{
返回此.itemsElementNameField;
}
设置
{
this.itemsElementNameField=值;
}
}
}
/// 
[System.CodeDom.Compiler.GeneratedCodeAttribute(“svcutil”,“4.0.30319.33440”)]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(命名空间=”http://example.com/ZCntInfFr/“,IncludeInSchema=false)]
公共枚举项SchoiceType
{
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactEmail”)]
联系电子邮件,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactExtension”)]
联络分机,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactFax”)]
联络传真,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactName”)]
联系人姓名,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactPhone”)]
联络电话,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactTitle”)]
联系人姓名,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactType”)]
联系人类型,
/// 
[System.Xml.Serialization.XmlEnumAttribute(“:ContactTypeDesc”)]
联系人类型描述,
}
/// 
[System.CodeDom.Compiler.GeneratedCodeAttribute(“svcutil”,“4.0.30319.33440”)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(“代码”)]
[System.Xml.Serialization.XmlTypeAttribute(命名空间=”http://example.com/ZCntInfFr/")]
公共部分类联系人类型
{
私有ContactDataType[]contactDataField;
/// 
[System.Xml.Serialization.xmlementAttribute(“ContactData”,Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=0)]
公共联系人数据类型[]联系人数据
{
得到
{
返回此.contactDataField;
}
设置
{
this.contactDataField=值;
}
}
}
[System.Diag]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:zcn="http://example.com/ZCntInfFr/">
   <soapenv:Header/>
   <soapenv:Body>
      <zcn:GetContactInfoOperationResponse>
         <Contacts>
            <ContactData>
               <ContactType>ADMIN</ContactType>
               <ContactTypeDesc>Administrator</ContactTypeDesc>
               <ContactName>Name</ContactName>
               <ContactTitle/>
               <ContactEmail>Email</ContactEmail>
               <ContactPhone/>
               <ContactExtension/>
               <ContactFax/>
            </ContactData>
         </Contacts>
      </zcn:GetContactInfoOperationResponse>
   </soapenv:Body>
</soapenv:Envelope>
<?xml version="1.0" encoding="iso-8859-1"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <GetContactInfoOperation xmlns="http://www.mysitye.com/ZCntInfFr/">
            <ShipToAcct xmlns="">099039</ShipToAcct>
        </GetContactInfoOperation>
        </s:Body>
    </s:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:zcn="http://example.com/ZCntInfFr/">
  <soapenv:Header/>
  <soapenv:Body>
    <zcn:GetContactInfoOperationResponse>
     <Contacts>
     </Contacts>
    </zcn:GetContactInfoOperationResponse>
  </soapenv:Body>
</soapenv:Envelope>
svcutil /n:*,Services.Web.Proxy.ISeriesContact /o:ContactProxy /s http://server:8181/ZCntInfFr.wsdl
namespace Services.Web.Proxy.ISeriesContact
{
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace = "http://example.com/ZCntInfFr/", ConfigurationName = "Services.Web.Proxy.ISeriesContact.ZCntInfFr")]
    public interface ZCntInfFr
    {
        // CODEGEN: Parameter 'Contacts' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
        [System.ServiceModel.OperationContractAttribute(Action = "http://example.com/ZCntInfFr/GetContactInfoOperation", ReplyAction = "*")]
        [System.ServiceModel.XmlSerializerFormatAttribute()]
        [return: System.ServiceModel.MessageParameterAttribute(Name = "Contacts")]
        Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse GetContactInfoOperation(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request);

        [System.ServiceModel.OperationContractAttribute(Action = "http://example.com/ZCntInfFr/GetContactInfoOperation", ReplyAction = "*")]
        System.Threading.Tasks.Task<Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse> GetContactInfoOperationAsync(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request);
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example.com/ZCntInfFr/")]
    public partial class ContactDataType
    {

        private string[] itemsField;

        private ItemsChoiceType[] itemsElementNameField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContactEmail", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactExtension", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactFax", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactName", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactPhone", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactTitle", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactType", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute("ContactTypeDesc", typeof(string), Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public string[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName", Order = 1)]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType[] ItemsElementName
        {
            get
            {
                return this.itemsElementNameField;
            }
            set
            {
                this.itemsElementNameField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example.com/ZCntInfFr/", IncludeInSchema = false)]
    public enum ItemsChoiceType
    {

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactEmail")]
        ContactEmail,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactExtension")]
        ContactExtension,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactFax")]
        ContactFax,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactName")]
        ContactName,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactPhone")]
        ContactPhone,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactTitle")]
        ContactTitle,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactType")]
        ContactType,

        /// <remarks/>
        [System.Xml.Serialization.XmlEnumAttribute(":ContactTypeDesc")]
        ContactTypeDesc,
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://example.com/ZCntInfFr/")]
    public partial class ContactsType
    {

        private ContactDataType[] contactDataField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ContactData", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, Order = 0)]
        public ContactDataType[] ContactData
        {
            get
            {
                return this.contactDataField;
            }
            set
            {
                this.contactDataField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName = "GetContactInfoOperation", WrapperNamespace = "http://example.com/ZCntInfFr/", IsWrapped = true)]
    public partial class GetContactInfoOperationRequest
    {

        [System.ServiceModel.MessageBodyMemberAttribute(Namespace = "http://example.com/ZCntInfFr/", Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string ShipToAcct;

        public GetContactInfoOperationRequest()
        {
        }

        public GetContactInfoOperationRequest(string ShipToAcct)
        {
            this.ShipToAcct = ShipToAcct;
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(WrapperName = "GetContactInfoOperationResponse", WrapperNamespace = "http://example.com/ZCntInfFr/", IsWrapped = true)]
    public partial class GetContactInfoOperationResponse
    {

        [System.ServiceModel.MessageBodyMemberAttribute(Namespace = "http://example.com/ZCntInfFr/", Order = 0)]
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public Services.Web.Proxy.ISeriesContact.ContactsType Contacts;

        public GetContactInfoOperationResponse()
        {
        }

        public GetContactInfoOperationResponse(Services.Web.Proxy.ISeriesContact.ContactsType Contacts)
        {
            this.Contacts = Contacts;
        }
    }

    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface ZCntInfFrChannel : Services.Web.Proxy.ISeriesContact.ZCntInfFr, System.ServiceModel.IClientChannel
    {
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class ZCntInfFrClient : System.ServiceModel.ClientBase<Services.Web.Proxy.ISeriesContact.ZCntInfFr>, Services.Web.Proxy.ISeriesContact.ZCntInfFr
    {

        public ZCntInfFrClient()
        {
        }

        public ZCntInfFrClient(string endpointConfigurationName) :
            base(endpointConfigurationName)
        {
        }

        public ZCntInfFrClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
        {
        }

        public ZCntInfFrClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
        {
        }

        public ZCntInfFrClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
            base(binding, remoteAddress)
        {
        }

        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse Services.Web.Proxy.ISeriesContact.ZCntInfFr.GetContactInfoOperation(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request)
        {
            return base.Channel.GetContactInfoOperation(request);
        }

        public Services.Web.Proxy.ISeriesContact.ContactsType GetContactInfoOperation(string ShipToAcct)
        {
            Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest inValue = new Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest();
            inValue.ShipToAcct = ShipToAcct;
            Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse retVal = ((Services.Web.Proxy.ISeriesContact.ZCntInfFr)(this)).GetContactInfoOperation(inValue);
            return retVal.Contacts;
        }

        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.Threading.Tasks.Task<Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse> Services.Web.Proxy.ISeriesContact.ZCntInfFr.GetContactInfoOperationAsync(Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest request)
        {
            return base.Channel.GetContactInfoOperationAsync(request);
        }

        public System.Threading.Tasks.Task<Services.Web.Proxy.ISeriesContact.GetContactInfoOperationResponse> GetContactInfoOperationAsync(string ShipToAcct)
        {
            Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest inValue = new Services.Web.Proxy.ISeriesContact.GetContactInfoOperationRequest();
            inValue.ShipToAcct = ShipToAcct;
            return ((Services.Web.Proxy.ISeriesContact.ZCntInfFr)(this)).GetContactInfoOperationAsync(inValue);
        }
    }
}