2010-12-04 96 views
5

我想通過C#.net中的webservice將新報告單元上傳到jasperserver我已成功上傳/創建報告單元,但是當單擊通過iReport存儲庫導航器報告它顯示「無附件存在!」在一個彈出框中。下面是「createXML」我發送到Web服務:通過C#.net中的webservice將報告單元上傳到jasperserver

<request operationName='put' locale='en'> 
      <resourceDescriptor name='barunit' wsType='reportUnit' 
      uriString='/reports/bar/bar_files' 
      isNew='true'> 
      <label>Bar Unit</label> 
      <description>This is a test</description> 
      <resourceProperty name='PROP_PARENT_FOLDER'> 
       <value>/reports/bar</value> 
      </resourceProperty> 

      <resourceDescriptor name='bar.jrxml' wsType='jrxml' 
       uriString='/reports/bar/bar_files' 
       isNew='true'> 
       <label>Bar Report</label> 
       <description>This is a test</description> 

       <resourceProperty name='PROP_RU_IS_MAIN_REPORT'> 
        <value>true</value> 
       </resourceProperty> 
      </resourceDescriptor> 
     </resourceDescriptor> 
    </request> 

,這裏是發送「createXML」的WebService代碼:

JasperService.ManagementServiceService service = new JasperService.ManagementServiceService(); 
     service.Credentials = new System.Net.NetworkCredential("jasperadmin", "jasperadmin"); 
     service.PreAuthenticate = true; 

FileStream fs = new FileStream(@"C:\bar.jrxml", FileMode.Open, FileAccess.Read); 


     Microsoft.Web.Services2.Attachments.Attachment jrxmlAttachment = new Microsoft.Web.Services2.Attachments.Attachment("text/xml",fs); 

     service.RequestSoapContext.Attachments.Add(jrxmlAttachment); 
     string out = service.put(createXML); 

從Web服務調用的響應給出了成功代碼'0',所以我有點難住。我猜這個問題出在了RequestSoapContext的文件附件上,因爲在這之前所有的東西都已經被很好地描繪出來了。

任何幫助將不勝感激!

回答

5

我缺少一些標籤:CREATE_REPORTUNIT_BOOLEAN,PROP_HAS_DATA和PROP_PARENT_FOLDER。

下面是允許我通過web服務上傳報告單元的最終請求xml。調用服務的C#沒有改變原來的問題。

<request operationName='put' locale='en'> 
    <argument name='CREATE_REPORTUNIT_BOOLEAN'>true</argument> 
    <resourceDescriptor name='barunit' wsType='reportUnit' 
     uriString='/reports/bar/bar_files' 
     isNew='true'> 
     <label>Bar Unit</label> 
     <description>This is a test</description> 
     <resourceProperty name='PROP_PARENT_FOLDER'> 
     <value>/reports/bar</value> 
     </resourceProperty> 

     <resourceDescriptor name='bar.jrxml' wsType='jrxml' 
      uriString='/reports/bar/bar_files' 
      isNew='true'> 
     <label>Bar Report</label> 
     <description>This is a test</description> 

     <resourceProperty name='PROP_RU_IS_MAIN_REPORT'> 
      <value>true</value> 
     </resourceProperty> 
     <resourceProperty name='PROP_HAS_DATA'> 
      <value><![CDATA[true]]></value> 
     </resourceProperty> 
     <resourceProperty name='PROP_PARENT_FOLDER'> 
      <value>/reports/testunit_files</value> 
     </resourceProperty> 
     </resourceDescriptor> 
    </resourceDescriptor> 
</request> 

希望能幫助那裏的人!

相關問題