2011-10-27 5 views
1

C# 스크립트 작업을 사용하는 SSIS 패키지로 작업 중입니다. 디버깅 및 로깅을 위해 webservice에서 비누 요청/응답을 캡처하고 싶습니다.웹 서비스에서 비누 요청/응답 캡쳐

이제는 내가 전에 해보지 않은 무언가가 있는데, 나는 어디로 가야 할 지 조금 있습니다. .Net은 webservices 및 생성 된 프록시 클래스를 지원합니다.

이 문제에 대한 도움을 주시면 대단히 감사하겠습니다. 여기

내 현재 코드입니다 : 디버깅, 당신은 SOAP 요청/응답의 전체 XML을 포함한 모든 웹 트래픽을 캡처 쉽게 Fiddler2를 사용할 수있다 (그리고 심지어는 달리, 쉽게 SSL을 처리

public void Main() 
{ 
    try 
    { 
     DataTable dt = new DataTable(); 
     OleDbDataAdapter oleDa = new OleDbDataAdapter(); 
     ArrayList itemArray = new ArrayList(); 
     ArrayList orderArray = new ArrayList(); 

     oleDa.Fill(dt, Dts.Variables["User::ZBatch_Order_Export_ResultSet"].Value); 

     int i = 0; 
     foreach (DataRow row in dt.Rows) 
     { 
      orderArray.Add(ConstructOrderTransaction(row)); 
      itemArray.Add(ConstructItemTransaction(row)); 
      i++; 
     } 

     ZBatch_PublisherService.ZBatchPublisherServiceService ws = new ZBatchPublisherServiceService(); 
     ZBatch_PublisherService.bcfItemTransaction[] itemObjects = itemArray.ToArray() as bcfItemTransaction[]; 
     ZBatch_PublisherService.bcfOrderTransaction[] orderObjects = orderArray.ToArray() as bcfOrderTransaction[]; 
     ZBatch_PublisherService.zBatchResults results = new zBatchResults(); 

     results = ws.saveBatch(orderObjects, itemObjects); 

     Dts.TaskResult = (int)ScriptResults.Success; 
    } 
    catch (Exception e) 
    { 
     Dts.Events.FireError(0, "ZBatch - Script Task", e.Message.ToString(), string.Empty, 0); 

     // do some logging of this error message 
    } 
} 
+0

의 속는? 어떻게 그걸 만들었 니? 'Add Web Reference' /'Add service'? 그 기본 클래스는 무엇입니까? –

+0

예, 참조 추가/서버 추가를 사용하여 ZBatch_PublisherService.ZBatchPublisherServiceService를 만들었습니다. 기본 클래스는 System.Web.Services.Protocols.SoapHttpClientProtocol – Tempname

+0

가능한 복제본입니다. [C#에서는 웹 서비스 호출에 사용되는 SOAP를 어떻게 캡처합니까?] (http://stackoverflow.com/questions/306852/in- C-How-I-Capture-the-Soap-in-a-Web-Service-Call) –

답변