C# .net 콘솔 응용 프로그램의 WSDL + XSD에서 SVCUTIL을 사용하여 클라이언트를 생성했습니다. 모두 괜찮지 만 논리적 인 오류 처리 목적을 위해 클라이언트는 WSDL에 정의되지 않은 응답 메시지를받을 수 있으므로 &의 역 직렬화는 실패하지만 메서드는 예외를 throw하지 않지만 null을 반환합니다.WCF에서 알 수없는 비누 메시지 처리
이 상황을 처리 할 수있는 일반적인 방법이 있거나 오류/메시지 xsd (서버에서 반환 한 SOAP 메시지)를 정의하고 null 응답의 경우 메시지를 처리 / 역 직렬화합니다.
추신 : 내 원격 서비스가 논리 오류에 대한 오류 예외를 throw 할 수 없습니다 (예 : 약간의 막힘).
서비스가 WSDL에없는 메시지를 반환하면 서비스가 중단됩니다. 어떻게 "깨진"것이 아닌가? –
안녕하세요 John, 답변 해 주셔서 감사합니다. 그것은 깨진 아니에요, 내가 메서드를 호출하고 나는 null 응답, 예외도없고, 피들러를 사용하고 그것은 다른 메시지였다 반환 된 것을 볼 메시지 계약에 의해 deserialized 수 없습니다. 논리적 오류 (제한)로 인해 비누 오류를 던질 수 없기 때문에 서비스에서 다른 메시지를 반환해야합니다. – SSA
그건 말이되지 않습니다. 서비스에서 반환 할 수있는 모든 것은 WSDL에 정의되어 있어야합니다 (_must_). –