2013-03-14 2 views
4

Visual Studio 2008에서 .net 3.5를 사용하여 자동으로 Reference.cs를 생성 한 WSDL을 사용했습니다. 내 프로젝트의 References를 마우스 오른쪽 버튼으로 클릭하고 "Add Web Reference"를 선택하여 수행했습니다.Visual Studio에서 자동 생성 된 Reference.cs에서 XML SOAP 응답 받기

이렇게하면 웹 서비스에 게시하고 내 ref 및 out 객체를 통해 유효한 응답을 얻을 수 있습니다. postValues ​​()는 void 메소드입니다.

webService.postValues(ref value1, ref value2, out value3); 

WireShark를 사용하면 내 네트워크에서 요청 및 전체 비누 응답을 볼 수 있습니다.

무엇을 알아 내려고하는 것은 내 코드에서이 원시 SOAP 응답을 캡처하는 방법입니다. 로깅 목적으로 이것을 캡처하고 각 ref 객체를 개별적으로 직렬화하지 않을 것입니다.

ID가 아닌 자동으로 생성 된 Reference.cs를 수정하지 않으면이 작업을 수행 할 수 없습니다. 도움이 될 것입니다.

편집 : 내가 볼 수있는 방법이없는 것 같습니다. 다른 사람이이를 확인하거나 거부 할 수 있습니까?

EDIT. 아픈 사람이 아는 지 한번 보자.

+0

이 사용자의 접근 방식이 도움이됩니까? http://orbinary.com/blog/wp-content/uploads/2010/XmlWriterSpy.cs – mrtsherman

답변

2

당신은 다음과 같은 옵션이 있습니다 설정에서 웹 서비스에 대한

  1. Enable tracing을하고, 파일에 모든 정보를 덤프. 레거시 웹 서비스 대신 WCF를 사용하는 경우 how to enable tracing for WCF에서이 질문을 참조하십시오.
  2. Implement your own SoapExtension 메시지 처리 파이프 라인에 연결하여 수신/발신 비누 메시지를 가로 채고 덤프합니다. 나는 연결된 artice의 예가 TraceExtension을 포함하고 있다고 생각한다.
  3. 지정한 Reference.cs를 수정하고 전달 된 개체를 지정한대로 덤프합니다.
관련 문제