2010-12-06 2 views
0

webHttpBinding (REST 기반 서비스)으로 WCF를 사용하여 만든 서비스의 응답을 차단해야합니다.WebHttpBinding을 사용하여 WCF 서비스에서 XmlResponse를 사용자 지정하는 방법

이제 사용자 지정 방식으로 XML을 내보내려고합니다.

<User xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <UserCellInfo>+91-98102239</UserCellInfo> 
    <UserDepartment>.NET Projects</UserDepartment> 
    <UserID>A10129</UserID> 
    <UserName>Jeff Thomson</UserName> 
</User> 

하지만 난

<?xml version="1.0" encoding="UTF-8"?> 
<rsp> 
    <User> 
     <UserCellInfo>+91-98102239</UserCellInfo> 
     <UserDepartment>.NET Projects</UserDepartment> 
     <UserId>A10129</UserId> 
     <UserName>Jeff Thomson</UserName> 
    </User> 
</rsp> 

은 MSDN에서, 내가 IDispatchMessageInspector를 사용할 필요가 있음을 읽을 수 아래처럼 다른 사용자 정의 way.Something에서 원하는 : 예를 들어, 현재 서비스 방법은 다음과 같이 출력을 반환 외출하는 XML을 가로 챌 수 있습니다. 하지만 그것에 대한 코드 참조 또는 예제를 찾을 수 없습니다.

좋은 아이디어를 어떻게 얻을 수 있습니까?

+0

** 코드 또는 XML을 게시 할 경우 ** 텍스트 편집기에서 해당 줄을 강조 표시하고 "코드"단추를 클릭하십시오. 101 010)을 편집기 툴바에 추가하면 멋지게 형식을 지정하고 구문을 강조 할 수 있습니다! –

답변

1

그래서이 메서드 호출에서 WCF 서비스 메서드가 User 개체의 인스턴스를 반환한다고 가정합니다.

User 인스턴스가 들어있는 rsp이라는 래퍼 클래스를 정의하지 않는 이유는 무엇입니까? 그런 다음 rsp 객체를 반환하면 원하는 스타일로 렌더링됩니다. 그냥 좋은 깨끗한 래퍼 - 더러운 XML 조작 즉시 .....

+0

xmlns : i = "http://www.w3.org/2001/XMLSchema-instance"와 같은 네임 스페이스 정보도 모두 제거해야하므로 가로 챌 필요가 있습니다. –

+0

@Kunal : ** ** 그 xmlns = 속성을 제거해야합니까? 거기에는 좋은 이유가 있습니다! –

+0

흠 나는 j2me 애플리케이션 개발자 인 서비스 사용자에게이 질문을했습니다. 그는 API가 제한되어 있고 모든 모바일 OS (안드로이드, 블랙 베리 등)에 대한 표준 기능을 만들고 싶다고 말했습니다. 그는 별개의 파서를 만드는 것이 어려웠습니까? –

관련 문제