gpt4 book ai didi

c# - 通过 C# .net 中的 webservice 将报告单元上传到 jasperserver

转载 作者:太空狗 更新时间:2023-10-29 23:18:39 25 4
gpt4 key购买 nike

我正在尝试通过来自 C# .net 的网络服务将新的报告单元上传到 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 的文件附件中,因为一切都在这之前进行了追踪。

如有任何帮助,我们将不胜感激!

最佳答案

我遗漏了几个标签: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>

希望对外面的人有所帮助!

关于c# - 通过 C# .net 中的 webservice 将报告单元上传到 jasperserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com