これは簡単なはずですが、フォーラムを何度も閲覧した後でも、まだ解決策が見つかりません。ここに行きます:
次のように定義されたかなり単純なインターフェイスがあります。
[ServiceContract(Namespace = "test-contract")]
public interface IDebitor : Source.BaseInterface.IBase
{
[OperationContract]
DebitorResult CreateUpdateDebitorPerson(DebitorPerson person)
}
[DataContract(Namespace = "test-person")]
public class DebitorPerson
{
#region FIELDS
// Line
string senderSystemId;
string firstName;
string lastName;
string address1;
string address2;
string postalCode;
string city;
string areaCode;
string cprNumber;
string payingCustomerId;
string paymentCode;
string languageCode;
#endregion
#region Propperties
[DataMember(IsRequired = true, Order = 1)]
public string SenderSystemId
{
get { return senderSystemId; }
set { senderSystemId = value; }
}
[DataMember(IsRequired = true)]
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
[DataMember(IsRequired = true)]
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
[DataMember(IsRequired = true)]
public string Address1
{
get { return address1; }
set { address1 = value; }
}
[DataMember(IsRequired = false)]
public string Address2
{
get { return address2; }
set { address2 = value; }
}
[DataMember(IsRequired = true)]
public string PostalCode
{
get { return postalCode; }
set { postalCode = value; }
}
[DataMember(IsRequired = true)]
public string City
{
get { return city; }
set { city = value; }
}
[DataMember(IsRequired = true)]
public string AreaCode
{
get { return areaCode; }
set { areaCode = value; }
}
[DataMember(IsRequired = true)]
public string CprNumber
{
get { return cprNumber; }
set { cprNumber = value; }
}
[DataMember(IsRequired = false)]
public string PayingCustomerId
{
get { return payingCustomerId; }
set { payingCustomerId = value; }
}
[DataMember(IsRequired = true)]
public string PaymentCode
{
get { return paymentCode; }
set { paymentCode = value; }
}
[DataMember(IsRequired = false)]
public string LanguageCode
{
get { return languageCode; }
set { languageCode = value; }
}
#endregion
}
サービスは正常に実行されますが、対応する SOAP xml は私が期待したものではありません。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:test="test-contract" xmlns:test1="test-person">
<soapenv:Header/>
<soapenv:Body>
<test:CreateUpdateDebitorPerson>
<!--Optional:-->
<test:person>
<test1:Address1></test1:Address1>
<!--Optional:-->
<test1:Address2></test1:Address2>
<test1:AreaCode></test1:AreaCode>
<test1:City></test1:City>
<test1:CprNumber></test1:CprNumber>
<test1:FirstName></test1:FirstName>
<!--Optional:-->
<test1:LanguageCode></test1:LanguageCode>
<test1:LastName></test1:LastName>
<!--Optional:-->
<test1:PayingCustomerId></test1:PayingCustomerId>
<test1:PaymentCode></test1:PaymentCode>
<test1:PostalCode></test1:PostalCode>
<test1:SenderSystemId></test1:SenderSystemId>
</test:person>
</test:CreateUpdateDebitorPerson>
</soapenv:Body>
</soapenv:Envelope>
インターフェイスで定義されているように、要素が test-contract に属し、testperson に属していないのはなぜですか? 誰かがここで私を助けてくれますか?