java手机发邮件怎么加附件添加附件时报错 bodyPart.setDataHandler(dh);。大神帮看下是什么错误

抄袭、复制答案以达到刷声望汾或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号是时候展现真正的技术了!

}

使用这个库你可以轻松地编写Java應用程序,可以以非常简单的方式与一个或者多个 库为用户提供了非常友好的API,它最小化了构建错误请求的可能性

使用这个库,你可鉯轻松地编写Java应用程序可以以非常简单的方式与一个或者多个。 库为用户提供了非常友好的API它最小化了构建错误请求的可能性。 要在基于maven的应用程序中使用库你只需要指定依赖项和存储库,或者从 below 中手动下载 jar 文件

  • 在java代码中创建手动配置
 
用户帐户包含有关用户帐户的詳细信息,包括任何角色 通过指定用户标识符( 用户名) 将用户帐户创建为用户帐户,并将它的包含在用户描述符 ClientUser 中并将它的包含在 username() 方法Φ指定的用户 ID 。 若要创建用户username() 方法中的用户ID在服务器上必须是唯一的。 如果用户标识已经存在则该用户帐户将被修改。 请求中发送的描述符应该包含要在新用户上设置的所有属性但在 username() 方法中指定的用户名除外。 若要在用户上设置角色请将它们指定为角色列表。
使用鼡户定义属性修改用户帐户属性将所有需要的信息放入用户描述符( ClientUser ),并将它的包含在对用户服务( createOrUpdate() 方法)的请求中并在 username() 方法中指定。 若要修改用户服务器上必须已经存在用户 ID 。 如果用户标识不存在将创建用户帐户。 要向用户添加角色请指定所需角色的完整角色列表。 偠从用户中删除角色请指定整个角色列表,而不删除所需角色

###Attributes 服务属性( 也称为配置文件属性) 是与用户。组织或者服务器相关联的名称 除了角色以外,特定的高级特性如域安全性和OLAP访问授予用户配置文件属性 角色不同,属性不是预先定义的因此任何属性 NAME 都可以在任哬时候分配任何值。 属性服务提供读取写入和删除任何给定持有者( 服务器,组织或者用户帐户) 上的属性的方法 所有属性操作都适用于單个特定持有者;不存在用于读取或者搜索来自多个持有者的属性的操作。 由于在URL中使用 holder ID这里服务只能对ID长度小于1 个字符且不包含空格戓者特殊符号的持有者进行操作。 除这里之外使用这里服务编写的属性名和属性值被限制为 255个字符,并且可能不是空( 空) 或者不包含空白芓符 ####Viewing 用户属性代码 below 允许你检索为用户定义的单个属性:
你可以将用户作为对象工作:
如果用户属于组织,你可以通过 NAME 或者作为对象来指萣它:
代码 below 检索为用户定义的属性列表
如果用户属于组织,你可以指定组织:
可以获取包含每个属性的NAME 和值的所有属性的列表:
每个属性只能有一个值但是该值可能包含一个逗号分隔列表,服务器将它的解释为多个值
####Setting 用户属性属性服务的createOrUpdate() 方法添加或者替换指定用户的屬性。 属性列表定义了每个属性的NAME 和值 每个属性只能有一个值,但是值可能包含一个逗号分隔列表服务器将它的解释为多个值。 有两個语法下面一个用于添加或者替换所有属性
要注意属性名的定义,因为服务器使用不同的策略创建或者更新属性名属性列表和服务器仩的现有属性:
  • 在服务器上创建属性 NAME 时,在服务器上创建属性并在服务器上不存在该属性;
  • 在服务器上使用 attributes() 方法在服务器上设置属性 NAME的屬性,并在服务器上更新属性
  • 在服务器上的属性名称与 createOrUpdate() 方法中定义的对象的属性名称不匹配,并且服务器上的属性将被删除;
  • createOrUpdate() 方法方法中请求的属性与 attributes() 中的任何属性名不匹配将被忽略,不会被发送到服务器;
 
使用属性服务的第二种方法是添加或者替换单个属性:
####Deleting 用户屬性属性服务的delete() 方法删除指定用户的属性 删除属性时,NAME 和属性的值都将被移除而不仅仅是值。 有两个语法下面一个用于删除多个属性或者一次删除所有属性。
第二个语法为指定的用户删除单个属性:
####Viewing 组织属性如果有的话代码 below 为组织定义属性列表,如果有的话
你可鉯检索任何指定的属性。 在本例中你所需要的就是定义所需的属性。 请参见下面的代码段:
或者获得单个组织属性
####Setting 组织属性服务允许伱创建新的组织属性。 请参见下面的代码:
如果要使用新的属性替换所有现有属性请执行以下操作:
请注意属性名的定义,因为服务器使用不同的策略来创建或者更新属性名属性列表和服务器( 请参见 [Setting User Attributes] ( ) 上的属性。 或者在下面创建单个组织属性代码:
 


我们还提供了 ####Viewing 服务器属性来获取服务器属性 代码 below 返回可用的服务器属性。
或者你可以指定任何具体属性
####Setting 服务器属性创建新的服务器属性是可能的。
如果要使鼡新的属性替换所有现有属性请执行以下操作:
请注意属性名的定义,因为服务器使用不同的策略来创建或者更新属性名属性列表和垺务器( 请参见 [Setting User Attributes] ( ) 上的属性。 若要创建单个服务器属性请执行下列操作:
 
属性 NAME 不应该存在于服务器和 MATCH 上,并且可以以使用 attribute 对象的name 字段否则將删除属性。 ####Deleting 服务器属性你还可以 delete 所有服务器属性
你还可以 delete 一个服务器属性。


注意设置 setIncludePermission() 仅指定服务器响应格式,你不能在这里设置中設置任何权限 使用指定参数获取完整属性列表的####Seasching 属性使用下面的代码:
标记标记是否也会从较低级别获取属性;英镑标记标志表示搜索昰否也应包括更高级别属性。标志表示搜索是否也应包括更高级别属性relatively的资源计数。每页的资源计数每页的资源计数。
你还可以指定屬性的名称:


注意设置 setIncludePermission() 仅指定服务器响应格式,你不能在这里设置中设置任何权限
###The 角色服务提供了类似的方法,允许你列出查看。創建修改和 delete 角色。 新的服务提供了改进的搜索功能包括基于用户的角色搜索。 这里服务仅对URL使用因此该服务只能对不包含空格或者鈈包含空格或者特殊符号的角色进行操作。 资源不同,角色是角色 NAME,可以以修改 角色:allRoles() 方法搜索和列出角色定义的####Searching 。 它可以通过 NAME 或鍺属于角色的用户( param() 方法) 来搜索角色 如果没有指定搜索,则返回所有角色
####Viewing 角色使用角色的rolename() 方法检索包含角色属性的单个角色描述符。
####Creating 作為角色创建角色通过 createOrUpdate() 方法将请求发送到具有指定角色 in ( 姓名)的角色服务。 角色没有指定除角色ID之外的其他属性但请求必须包含一个可以涳的描述符。
####Modifying 一个角色可以以更改角色的NAME,通过 createOrUpdate() 向角色服务发送请求并指定角色描述符中的新 NAME 你可以修改的角色的唯一属性是角色的NAME 。 更新之后角色的所有成员是新角色 NAME的成员,与旧角色 NAME 关联的所有权限都将更新为新角色名称
将角色成员资格分配给用户,使用 v2/用户垺务的PUT方法设置用户帐户上的角色属性 有关详细信息,请参见部分 ####Deleting 一个角色用于 delete 角色,发送 delete 方法并指定URL中的角色 in ( 姓名) 当这里方法成功时,该角色将永久删除

它提供了使你能够获得服务器特定设置的方法,用户界面需要同步服务器 有些模块可以有格式和模式。模式等

注意,你可以按以下方式获取用户区域的时间设置:



"usertimezones current当前用户的时区 返回的设置是对的编码和时区的描述;



"datetimesettings 。与客户端日期时间格式设置相关的所有设置 响应是语言环境相关的;


metadata元数据。设置的配置取决于Jaspersoft服务器的配置;
"adhocview hoc不同的配置字典值和列表 设置的配置取决於Jaspersoft服务器的配置。
使用指定的设置组设置设置的另一种方法是返回特定设置对象的设置:
Pleace注意应使用列表接口以这种方式获取用户区域設置的时间:
或者,可以使用GenericType类获取用户区域的指定DTO的列表:
 

###Resources 服务这种新服务为所有库资源类型提供了 GREATER 性能和更一致的资源描述符 服务囿两种格式,一个采用搜索参数查找资源另一个使用存储库URI访问资源描述符和文件内容。 在不指定任何存储库URI的情况下使用资源服务嘚####Searching 存储库,用于搜索仓库 各种参数使你可以细化搜索,并指定如何接收搜索结果
搜索的响应是一组简短的描述符,只显示每个资源的公共属性 一个附加属性指定资源的类型。 这样可以快速获得要显示或者进一步处理的资源列表 ####Viewing 资源详细信息使用 resource() 方法和带有 details() 方法的资源URI来请求完整的资源描述符。
  • 查看文件资源详细信息以确定文件格式
 
要查看文件资源细节请在 resource() 方法中指定文件的URL,并使用代码表单的 要丅载文件二进制内容请在 resource() 方法中指定文件的URL,并使用下面的代码
使用 createNew() 方法在URL中指定文件夹,新资源ID将自动从它的描述符的标签属性中創建 使用 createOrUpdate() 方法,在 resource() 方法中指定一个唯一的新资源ID作为URL的一部分
替换不同类型的资源。 资源描述符必须完全描述更新的资源而不是使鼡单个字段。 描述符还必须只使用嵌套资源的引用而不是对扩展的inline 。 你可以使用隐藏文件夹_file更新本地资源 patchResource() 方法更新目标资源上的各个描述符字段。 它还接受在 spring 表达式语言中修改描述符的表达式 这个表达式语言允许你轻松地修改描述符的结构和值。
注意必须显式设置偠更新的资源类型,因为服务器问题 ####Copying 一个资源,用于复制资源在 copyFrom() 方法中指定它的URI和目标位置的resource() 方法 URI 。





####Uploading ReportUnit将 ReportUnit 资源上载到服务器可以以使鼡下一个 API,这样你就可以以以非常简单的方式 你可以添加JRXML文件以及像图像等各种文件。

在权限服务中###The 权限服务将展开,以便你可以指萣资源接收方( 用户 NAME 或者角色名称) 和URL中的权限值。 因为你不需要发送资源描述符来描述权限所以设置权限更简单。 为了设置修改或者 delete 權限,必须使用凭据或者与目标资源具有"管理"权限的用户登录 由于权限可以以应用于用户或者角色,权限服务使用"收件人"的概念 收件囚指定权限是应用于用户还是角色,并给出用户或者角色的ID 权限有两种质量:
  • 指定的权限是为给定资源和给定用户或者角色显式设置的。 并非所有权限都被分配在这种情况下,权限从父文件夹继承
  • 有效权限是被强制执行的权限,不管它是被分配还是继承
 

####Viewing 一个权限指萣URL中的收件人以查看特定的指定权限。
####Setting 多个权限 createNew() 方法为请求体中指定的任意数量的资源分配任意数量的权限 如果收件人已经拥有指定的( 未继承) 权限,则必须新建所有权限并且请求将失败。 使用 createOrUpdate() 方法更新已经分配的权限 createOrUpdate() 方法修改退出的权限( 已经分配) 。

批量访问 delete() 方法中的####Deleting 權限从指定资源中删除所有指派的权限 成功返回后,将继承资源的所有有效权限


作业服务提供用于计划报表和管理计划报表( 也叫作业)嘚接口。 这里外该服务为在,服务器 4.7中引入的调度器特性提供了一个 API例如大容量更新。 ####Listing 报表作业使用以下方法列出调度程序的所有作業
这些作业在 JobSummary 元素中描述。 ####Viewing 作业定义以 job() 方法指定的特定作业about的下面一段代码检索该计划作业的详细信息。
这里代码返回作业的作业元素该元素为作业提供输出,调度和参数详细信息 ####Extended 作业搜索 search() 方法用于更高级的作业搜索。 可以直接将jobsummary描述符的某些字段用作参数并且莋业描述符的字段也可以用作搜索条件。 你还可以控制答复的分页和排序顺序
criteria 参数允许你在作业描述符中的字段中指定搜索,例如输出格式 某些字段可以在搜索参数和专用参数中指定,例如标签 在这种情况下,参数中指定的搜索优先 例如你可以搜索指定PDF输出格式的所有作业。 指定这里字段的条件为:
目前代码有点凌乱在futere版本中它会被删除。 ####Scheduling 一个报表用于计划报表,创建类似 job(id).get(); 方法返回的作业描述苻并使用 scheduleReport() 方法的方法。 指定正在计划 inside 作业描述符的报表 你不需要在描述符中指定任何作业 id,因为服务器将分配它们
主体包含新创建莋业的作业描述符。 它与发送的是类似的但现在包含了新作业的jobID 。 ####Viewing 作业状态下面的方法返回作业的当前运行时状态:
响应包含 JobState 状态描述苻 使用 ####Editing 定义作业定义使用 job(id).get() 方法读取它的作业描述符,根据需要修改描述符并使用作业服务的update() 方法。 update() 方法用给定的作业ID替换作业的定义
批量更新多个作业的####Updating 作业应将作业id指定为参数,并发送带有填充字段的描述符以更新作业
代码 above 将使用 IDs 86008601 更新作业的description 字段。 ####Pausing 作业以下方法暂停当前调度的作业执行 暂停保存作业日程和所有其他详细信息,但阻止作业运行 这不是 delete的工作。
####Resuming 作业使用以下方法来恢复计划程序中的任何或者所有暂停的作业 恢复作业意味着在恢复后进行的任何定义的触发器都会导致报表重新运行。 在作业恢复之前发生的调度觸发器永远不会运行
####Restarting 失败作业使用以下方法在调度程序中重新运行失败的作业。 对于要重新启动的每个作业调度程序将创建一个立即運行的作业副本,以替换失败的作业 因此,请求正文中列出的所有作业都将在发出这里命令后立即运行 单一运行副本设置了失火策略集,因此它们不会触发任何进一步的故障( MISFIRE_


###Calendars 服务允许作业使用不希望作业运行的排除日或者时间列表定义作业 例如,如果你有一个计划每ㄖ运行的报告你需要排除每年更改的假日。 排除日期和时间的列表定义为日历并且有多种定义日历的方法。 调度器存储任何你可以通過 NAME 引用的排除日历 安排报表时,引用要排除的日历的NAME并且调度程序自动计算正确的日期以触发报表。 调度程序还允许更新排除日历並更新使用它的所有报表作业。 因此你可以每年更新排除假日的日历,而无需修改任何报表作业 ####Listing 所有已经注册的日历名称下面的方法返回添加到调度程序的所有日历名称的列表。


####Viewing 排除日历以下方法接受排除日历的NAME并返回日历的定义:


因此,我们有通用的caledar描述符 ReportJobCalendar ####Adding 或者哽新排除日历这里方法创建一个命名排除日历,可以在调度报告时使用 如果日历已经存在,你可以选择替换它并更新使用它的所有作业








###Export 服务导出服务异步工作: 首先,你请求使用所需选项导出然后监视导出的状态,然后 finally 请求输出文件 你必须以系统管理( 超级用户) 或者jasperadmin身份进行身份验证以便导出服务。


响应的主体包含导出操作的当前状态 ####Fetching 在导出状态准备好时输出输出,你可以以下载包含导出目录的zip文件




 

你也可以设置:brokenDependencies - 定义具有破坏依赖性的策略。 可用值包括:

在接收导入标识后####Checking 导入状态,你可以检查导入操作的状态

要获取导入任务元数据,可以使用下面的代码示例:
你也可以重新启动导入任务:
####DomainMetadata 服务DomainMetadata服务提供对域公开的集和项的访问以便在即时报表中使用。 項是域公开的数据库字段所有联接。筛选器和计算字段都应用于域中选定的数据库表之后 集合是一组项,由域创建者安排供报表创建者使用。
DomainMetadata服务的限制只允许它在单个数据岛上操作域 数据岛是一组字段,这些字段都是由域中数据库表之间的联接相关的 属于未加叺域中的表的字段属于单独的数据孤岛。
下面的代码检索域的元数据
####Thumbnail 搜索服务这里服务用于请求现有资源的缩略图图像。 你可以获得单個资源 请参阅下面的代码。
或者获取多个资源缩略图
使用POST方法获取多个资源,但可以使用方法获取方法:
新收集器自动获取ID和状态"正茬运行" 创建后,你可以获取所有收集器的元数据:
或者对于单个日志收集器:
 
使用类似的批处理操作你可以更新所有收集器的相同字段:
你还可以更新整个收集器:
要获取收集器的内容,请使用下面的代码:
时所有收集器必须更改为停止状态。 获取收集器的内容之前使用方法 .collectorsSettings() 检查它的状态。
Delete 日志收集器可以作为单个或者批处理操作:
在运行报告时###Query 执行程序服务会公开你可以通过QueryExecutor服务运行的查询。 目前唯一支持查询的资源是域
下面的代码执行查询并以QueryResult实体的形式检索执行结果。

服务器返回一个包含所请求信息的ServerInfo 实例 你可以使用丅面的代码分别访问每个值:
###Bundles 服务使用捆绑包服务来获取特定或者默认的用户区域化属性,比如 JSON 默认情况下,服务使用应用程序被监视嘚默认系统区域设置 如果用户在身份验证时指定区域设置,则服务将它的用作默认区域设置 要获取特定地区( 敌人"")的所有分发包,不同於身份验证时指定的默认语言环境和语言环境请使用下面的代码:

请注意,.forLocale() 方法中指定的区域设置对服务具有最高的优先级 如果不调鼡 .forLocale() 方法,则将为默认的语言环境( 如果没有指定客户端则在身份验证或者系统的区域设置中指定的区域设置) 获取捆绑包:


如果需要获得纯響应正文,###GettingXML或者纯文本,则序列化内容将使用代码 below:
  • 向任何服务器比如 。Glassfish web sphere等web应用程序中部署jrs-rest-client的费用。 如果应用服务器不支持这个版本那么 jrs-rest-client将使用version的实现,并且你的应用服务器将得到错误 要解决这个问题,你需要向应用程序添加一个特定于你的应用程序配置配置你需要在其中排除旧的jax API 。 以下是你可以在下面找到的JBoss的描述符示例:
 
 

除非你从Jaspersoft购买了商业许可协议否则将应用以下许可条款:
这里程序是洎由软件: 可以在自由软件基金会发布的GNU Lesser许可证或者版本中发布/或者修改它,或者在许可证版本 3中发布也可以在以后版本中使用。
这个程序是分布式的希望它是有用的但没有任何保修,甚至没有意义的保证 有关详细信息,请参阅 GNU Lesser通用 public 许可证
你应该已经收到了GNU通用 public 许鈳证的副本以及这个程序。 如果没有请参见 。
}

我要回帖

更多关于 手机发邮件怎么加附件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信