WCF에서 편안한 서비스를 구현하려고하지만 서비스가 전달 된 XML을 deserialize 할 수 없다는 문제가 있습니다. 루트 요소를 데이터 계약이 아닌 운영 계약에 매핑하려고합니다. 이 수준에서 동작 계약을 기대하고 있기 때문에 예를 들어, 다음 XML 패킷으로,WCF/RESTful DataContract deserialization 문제
<MyObject>
<MyField1>asdf</MyField1>
<MyField2>1234</MyField2>
...
</MyObject>
는 입력 메시지로 MyObject를 직렬화 할 수없는입니다.
1) 5 개 이상의 매개 변수가 있고 2) 확장 데이터를위한 공간을 남겨 두지 않기 때문에 모든 필드를 작업 계약의 매개 변수로 사용하고 싶지 않습니다.
들어오는 요청을 기록하도록 동작 확장을 설정했습니다. 수신 메시지를 제대로 deserialize하기 위해 루트 요소로 래핑해야합니까? 아니면 클라이언트가 구현을 변경하지 않고도이 작업을 수행하는 덜 해킹 된 방법이 있습니까?
감사
당신이 전화하는 예외/클라이언트 및 구현 방법에 대한 자세한 내용을 제공 할 수 있습니까? – genericuser
테스트하는 동안 클라이언트가 피들러입니다. WcfTestClient.exe는 작업의 루트 요소를 명확하게 들여 쓰지 만 클라이언트 개발자는 데이터 계약에 매핑하려는 ''주위에 루트 노드를 제공 할 수 없습니다. –
devlord