pda에서 쓰는 WCF를 수정해서 하고 있는데요.
client는 NetCFSvcUtil를 통해서 proxy를 만들고 있습니다.
client는 고칠 수 없게 되있어서 이거에 맞춰서 서버쪽을 수정해야 하는데요.
보통 서버쪽 값에 널이 오는 경우는 Client와 Service쪽이 서로 namespace나 name이 안맞는 경우가 있다고 해서 일일이 다 확인해봤는데도 두개의 파라미터 중 하나만 값이 널로 들어오네요.
서버측:
public PickTripReturnResponse ReturnPickTrip(PickTripReturnRequest request1, CallContext callContext)
{ ...
}
callContext는 값이 제대로 들어오는데 request1 값이 null인데요.
[DataContract(Namespace = "
http://tempuri.org/")]
public class PickTripReturnRequest
{
[DataMember(Order = 0)]
public ReturnedPickTripDTO ReturnedPickTrip { get; set; }
[DataMember(Order = 1)]
public PersonalShopperDTO PersonalShopper { get; set; }
[DataMember(IsRequired = false, Order = 2)]
public MisplacedProductDTO[] MisplacedProducts { get; set; }
}
클라이언트측:
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("NetCFSvcUtil", "3.5.0.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "
http://tempuri.org/")]
public partial class PickTripReturnRequest
{
private ReturnedPickTripDTO returnedPickTripField;
private PersonalShopperDTO personalShopperField;
private MisplacedProductDTO[] misplacedProductsField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order = 0)]
public ReturnedPickTripDTO ReturnedPickTrip
{
get
{
return this.returnedPickTripField;
}
set
{
this.returnedPickTripField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order = 1)]
public PersonalShopperDTO PersonalShopper
{
get
{
return this.personalShopperField;
}
set
{
this.personalShopperField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlArrayAttribute(Order = 2)]
public MisplacedProductDTO[] MisplacedProducts
{
get
{
return this.misplacedProductsField;
}
set
{
this.misplacedProductsField = value;
}
}
}
혹시 MisplacedProductDTO[] 배열때문에 다른 셋팅을 더 해줘야 하는 건가요?
collecion은 KnownType을 해주는게 있던데요..
포함되는 DataContract이 워낙 많기에 다 쓸순 없구요. 다른 DataContract도 배열이 포함되어 있는 저런 형태로 구성되어 있는게 몇 개 있습니다.
처음부터 제가 만든게 아니라 다른 사람이 만든거에 수정을 해야 되는거라서 서버쪽만 제가 변경된 부분을 추가하고 있어서요..
고수님들 좀 알려주세요~~~ 며칠동안 하나하나 다 맞춰봤는데 대체 어디가 잘못된 건지 알수가 없네요.
서버쪽에서 null이 들어오는 경우는 어떤 경우가 또 있는지...
[최초 등록일: ]
[최종 수정일: 9/25/2014]