【问题标题】:Upload report unit via webservice in C# .net to jasperserver通过 C# .net 中的 web 服务将报告单元上传到 jasperserver
【发布时间】:2014-06-29 10:12:54
【问题描述】:

我正在尝试通过 C# .net 的 web 服务将新的报告单元上传到 jasperserver 我已经成功上传/创建了报告单元,但是当我通过 iReport 存储库导航器单击报告时,它显示“无附件当下!”在一个弹出框中。下面是我发送到网络服务的“createXML”:

    <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”发送到网络服务的代码:

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);

来自网络服务调用的响应给出了成功代码“0”,所以我有点难过。我猜问题出在 RequestSoapContext 的文件附件中,因为一切都早在此之前就可以追溯了。

任何帮助将不胜感激!

【问题讨论】:

    标签: c# jasperserver


    【解决方案1】:

    我遗漏了几个标签:CREATE_REPORTUNIT_BOOLEAN、PROP_HAS_DATA 和 PROP_PARENT_FOLDER。

    以下是允许我通过网络服务上传报告单元的最终请求 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>
    

    希望能帮助到那里的人!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多