2011-07-04 4 views
0

soapbody를 보내기 전에 조작하고 싶습니다. myExtension 클래스에서 SoapExtension을 상속했습니다. 하지만, 내가 비눗물을 볼 때, 노드 중 일부가 누락되었습니다.웹 서비스 개선 : SOAPEXTENSION의 누락 된 노드

코드 스 니펫 :

공공 재정의 무효 processMessage를 (SOAPMessage를 메시지) { 에서는 StreamReader readStr; StreamWriter writeStr; 문자열 soapMsg1;

 // System.Diagnostics.Debugger.Break(); 

     XmlDocument xDoc = new XmlDocument(); 
     // a SOAP message has 4 stages. Weare interested in .AfterSerialize 
     switch (message.Stage) 
     { 
      case SoapMessageStage.BeforeSerialize: 
       break; 

      case SoapMessageStage.AfterSerialize: 
       { 
        // Get the SOAP body as a string, so we can manipulate... 
        String soapBodyString = getXMLFromCache(); 

. . . .

는 아무도 나에게 그들이이없는 이유 .... 사전에

감사합니다, 수레 쉬

답변

0

문제는 객체를 캐시/버퍼되지 않습니다 말할 수 있습니다.

예 : 우리가 mOCEventStatus 필드를 보내는 경우에 해당해야한다

[System.Xml.Serialization.XmlIgnoreAttribute()] 
public bool MOCEventStatusSpecified { 
    get { 
     return this.mOCEventStatusFieldSpecified; 
    } 
    set { 
     this.mOCEventStatusFieldSpecified = value; 
    } 
} 

. 그렇지 않으면 mOCEventStatus 필드가 출력 xml에 나타나지 않습니다.