상세 컨텐츠

본문 제목

오류수정방법

.Net General/.Net XML-RPC

by 탑~! 2011. 11. 17. 10:58

본문

원인은 xml-rpc양식으로 변환할때 array가 재선언시 <value>를 추가해 주지 않음에서 발생한다.

 

이의 해결 방법은

CookComputing.XmlRpc라이브러리중에 XmlRpcSerializer.cs파일속에

453 라인의 BuildArrayXml 함수를 다음과 같이 수정하면 해결될 것같다.

 

void BuildArrayXml(
      XmlTextWriter xtw, 
      Array ary, 
      int CurRank, 
      int[] indices,
      MappingAction mappingAction)
    {
      xtw.WriteStartElement("", "array", "");
      xtw.WriteStartElement("", "data", "");
      if (CurRank < (ary.Rank-1))
      {
        for (int i=0; i<ary.GetLength(CurRank); i++)
        {
          indices[CurRank] = i;
          xtw.WriteStartElement("", "value", "");  /* 추가 */
          BuildArrayXml(xtw, ary, CurRank+1, indices, mappingAction);
          xtw.WriteEndElement();  /* 추가 */
          BuildArrayXml(xtw, ary, CurRank+1, indices, mappingAction);
        }      
      }
      else
      {
        for (int i=0; i<ary.GetLength(CurRank); i++)
        {
          indices[CurRank] = i;
          Serialize(xtw, ary.GetValue(indices), mappingAction);
        }
      }
      xtw.WriteEndElement();
      xtw.WriteEndElement();
    }

 

위의 파란부분을 삽입해주어야 한다.

그러면 <value>를 열고 닫는 태그가 포함되어 오류를 해결할 수 있을것이다.

그런데 컴파일도중에 어셈블리 키값에 대해 설정해 주어야 하는데 도저히 모르겠어서

라이브러리 갱신을 실패하였다. --;;;;



출처 : http://blog.naver.com/9namy

'.Net General > .Net XML-RPC' 카테고리의 다른 글

두번째 메서드의 response xml  (0) 2011.11.17
첫번째 메서드의 response xml  (0) 2011.11.17
XML-RPC 오류발견  (0) 2011.11.17
서로다른 플랫폼에서 주의할 점  (0) 2011.11.17
두번째 메서드의 Request xml  (0) 2011.11.17

관련글 더보기