2009-03-24 2 views
2

XML 루트 노드에 네임 스페이스 접두사를 추가하고 싶습니다. 정확히 달성하고 싶은 내용을 Scott Hanselman이 발견했습니다. 구현되는 유일한 문제가 누락되었습니다! 나는 이것에 대해 이동하는 방법에 대한 몇 가지 단서를 얻을 수 있다면XML 루트 노드에 접두사 추가 - Scott Hanselman의 제안 구현?

Modifying the namespace PREFIX of the root node of the body of a SOAP Web Services Response....whew!

그것은 큰 도움이 될 것입니다.

  1. 어딘가에 이미 구현되어 있습니까?

  2. Scott의 항목이 2003 년에 게시되었습니다. 그 이후로 변경 되었습니까? .NET 3.5를 사용하면 Soap Extension이 여전히 올바른 접근 방식입니까?

편집 : 현재 웹 서비스 응답과 같아야합니다

<response> 
    <my-ns:name/> 
</response> 

원하는 응답 ...

<my-ns:response> 
    <my-ns:name/> 
</my-ns:response> 
+0

성취하려는 것을 말하십시오. 접두사가 중요한 이유는 무엇입니까? 또한 SoapExtensions가 필요하다고 생각하지 않습니다. http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlnamespacedeclarationsattribute.aspx를 참조하십시오. –

+0

@ 존 (John) 접두사는 중요하지 않으며 중요하지 않지만, 충족시켜야하는 "클라이언트"요구 사항입니다. 스콧의 글을 읽는다면 그것은 정확하게 그가 언급 한 것입니다. – Preets

+1

Scott이 말합니다 :> 코드를 원하고 > 지옥으로 이동하려면 [Here] (http://2idi.com/contact/=scott.hanselman) 이메일을 보내십시오. 하나는 어떤 아이디어가 있습니다. –

답변

1

이 누락 된 네임 스페이스의 문제처럼 보인다 ... 같은 것입니다 루트 노드의 접두사는 .NET Framework 1.1에서만 존재합니다!

코드를 .NET 3.5로 마이그레이션했으며 "my-ns :" 네임 스페이스 접두사가 코드를 수정하지 않고 루트 노드에 추가되었습니다! 결국 비누 확장을 작성하지 않아도됩니다!

+0

.NET 2.0에서 사용해 보셨습니까? – Cerebrus

+0

아니오 2.0, 3.5 시도했습니다! 하지만 당신이 루트 노드에 접두어를 너무 가지고 있다는 것을 고려해보아야합니다. – Preets

+0

응답 요소의 네임 스페이스를 지정하기위한 코드 속성이 있습니다. – Cheeso