Carphill

Hi all, first post so please go gentle!

I've generated some service proxy classes from a client-supplied WSDL and used these to invoke the service. All goes swimmingly except that the data contract I have specified as my services response seems to lose the values in it.

I have traced the SOAP envelope returned, and it definitley has the correct response in it, but if I debug into the proxy interface (or the service agent that invokes the service), although the object seems to be correctly deserialised (ie I'm not getting errors at all) and are not null, the simple type values inside it are gone.

Any ideas



Re: Windows Communication Foundation (Indigo) WSDl generated service proxies seem to be losing response values.

joe zhou - MSFT

can you post your service contract and data contract





Re: Windows Communication Foundation (Indigo) WSDl generated service proxies seem to be losing response values.

Carphill

Always going to be a tricky thing to do, as it's obviously commercially sensitive. I'll try to obfuscate it a little and post it later.

Has anyone seen this behaviour before though at all





Re: Windows Communication Foundation (Indigo) WSDl generated service proxies seem to be losing response values.

Carphill

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]

[System.ServiceModel.ServiceContractAttribute(Namespace = "removed for confidentiality", ConfigurationName = " removed for confidentiality ")]

public interface GetStatusExtWS02

{

// CODEGEN: Generating message contract since the wrapper namespace (removed for confidentiality) of message getStatusExtRequest does not match the default value (removed for confidentiality)

[System.ServiceModel.OperationContractAttribute(Action = " removed for confidentiality ", ReplyAction = " removed for confidentiality ")]

[System.ServiceModel.FaultContractAttribute(typeof(ExtFaultDetails), Action = " removed for confidentiality ", Name = "ExtFaultDetails", Namespace = " removed for confidentiality ")]

[System.ServiceModel.XmlSerializerFormatAttribute()]

getStatusExtResponse getStatusExt(getStatusExtRequest request);

}

/// <remarks/>

[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.30")]

[System.SerializableAttribute()]

[System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(Namespace = " removed for confidentiality ")]

public partial class Item

{

private string idField;

private string valueField;

/// <remarks/>

[System.Xml.Serialization.XmlElementAttribute(Order = 0)]

public string id

{

get

{

return this.idField;

}

set

{

this.idField = value;

}

}

/// <remarks/>

[System.Xml.Serialization.XmlElementAttribute(Order = 1)]

public string value

{

get

{

return this.valueField;

}

set

{

this.valueField = value;

}

}

}

[System.Diagnostics.DebuggerStepThroughAttribute()]

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]

[System.ServiceModel.MessageContractAttribute(WrapperName = "getStatusExtRequest", WrapperNamespace = " removed for confidentiality ", IsWrapped = true)]

public partial class getStatusExtRequest

{

[System.ServiceModel.MessageBodyMemberAttribute(Namespace = " removed for confidentiality ", Order = 0)]

public string surname;

[System.ServiceModel.MessageBodyMemberAttribute(Namespace = " removed for confidentiality ", Order = 1)]

public string dateOfBirth;

[System.ServiceModel.MessageBodyMemberAttribute(Namespace = " removed for confidentiality ", Order = 2)]

public string nino;

public getStatusExtRequest()

{

}

public getStatusExtRequest(string surname, string dateOfBirth, string nino)

{

this.surname = surname;

this.dateOfBirth = dateOfBirth;

this.nino = nino;

}

}

[System.Diagnostics.DebuggerStepThroughAttribute()]

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]

[System.ServiceModel.MessageContractAttribute(WrapperName = "getStatusExtResponse", WrapperNamespace = " removed for confidentiality ", IsWrapped = true)]

public partial class getStatusExtResponse

{

[System.ServiceModel.MessageBodyMemberAttribute(Namespace = " removed for confidentiality ", Order = 0)]

[System.Xml.Serialization.XmlElementAttribute("itemList")]

public Item[] itemList;

public getStatusExtResponse()

{

}

public getStatusExtResponse(Item[] itemList)

{

this.itemList = itemList;

}

}

Dont forget that this is generated from a WSDL. I've not included the calling method (also autogenerated) or the fault contract referred to in the service contract. Please note that the WSDL is all I know about the service, as it is third party.