Java Web 服务/JAXB - 抽象超类

2023-11-23

我有一个包含 JAXB 带注释的类和抽象超类的包。我想在 Web 服务接口中使用这个超类,所以我 可以将任何子类作为参数传递。当我这样做时,会抛出异常:

javax.xml.ws.WebServiceException: javax.xml.bind.UnmarshalException
- with linked exception:
[javax.xml.bind.UnmarshalException: Unable to create an instance of xxx.yyy.ZZZ
- with linked exception:
[java.lang.InstantiationException]]

可以手动编组/解组并将参数作为字符串传递,但我想避免它。有什么想法如何去做吗?


您在Web服务请求中指定了具体的实现吗?这对我来说效果很好:

抽象基类:

@XmlSeeAlso({Foo.class, Bar.class})
public abstract class FooBase
{
  ...
}

实现类:

@XmlRootElement(name = "foo")
public class Foo extends FooBase
{
  ...
}

网络服务方法:

public String getFoo(@WebParam(name = "param") final FooBase foo)
{
  ...
}

Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.example/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:getFoo>
         <param xsi:type="ser:foo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
      </ser:getFoo>
   </soapenv:Body>
</soapenv:Envelope>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Web 服务/JAXB - 抽象超类 的相关文章

  • 如何让 BlazeDS 忽略属性?

    我有一个 java 类 它有一个带有 getter 和 setter 的字段 以及第二对 getter 和 setter 它们以另一种方式访问 该字段 public class NullAbleId private static final
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其

随机推荐

  • 替换文件内容中的字符串[重复]

    这个问题在这里已经有答案了 如何打开文件 Stud txt 然后将所有出现的 A 替换为 Orange with open Stud txt rt as fin with open out txt wt as fout for line i
  • 异步 Javascript 变量覆盖

    该代码存在一个问题 即调用异步函数时变量会被覆盖 如何解决 Code for x in files asynchronousFunction var1 var2 function console log x someVaraible 现在的
  • 如何使用 Contacts with Swift 对联系人进行排序

    我已经阅读了有关对联系人进行排序的苹果官方文档 尽管我不确定如何实现它 所以 这是获取请求 let fetchRequest CNContactFetchRequest keysToFetch keysToFetch 和我喜欢的排序顺序 l
  • 如何在 MacOS 上安装 Boost?

    如何在 MacOS 上安装 Boost 现在我找不到 Mac 版的 bjam 您可以使用以下方式获取最新版本的 BoostHomebrew brew install boost
  • 实体框架代码优先 - 来自同一个表的两个外键

    我刚刚开始使用 EF 代码 所以我是这个主题的初学者 我想在团队和比赛之间创建关系 1 场比赛 2 支球队 主队 客队 和结果 我认为创建这样的模型很容易 所以我开始编码 public class Team Key public int T
  • 无法将企业应用程序安装到未注册 UUID 的设备

    我创建了一个通用应用程序 我正在尝试使用我们的企业开发人员许可证分发该应用程序 问题是这样的 如果我在注册了 UUID 的设备上安装该应用程序 则该应用程序安装正常 如果我 尝试 在未注册 UUID 的设备上安装应用程序 则安装将无法完成
  • 过去 7 天的 Sqlite SELECT *

    我正在尝试执行 SELECT 来检索 SQLite 中过去 7 天的行 表结构如下 CREATE TABLE session rowID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL steps IN
  • Swift 通用数组函数查找不匹配项的元素的所有索引

    Swift 3 尝试编写一个通用数组扩展来获取不等于值的项目的所有索引 example let arr String Empty Empty Full Empty Full let result Int arr indexes ofItem
  • 在 Vue 模板中使用“this”?

    我脑子里一片混乱 我不知道为什么我看到了我们可以使用的地方this在 Vue js 模板中 现在我不知道我必须使用哪个 我在这里测试一些案例 new Vue el app data function return myVar test me
  • 打印具有长水平表格的页面的样式表

    我有一个页面可以在长水平表中吐出数据库数据 我需要把它打印得很好 这样它就不会被切断 有小费吗 将表格更改为多行水平表格 交换行 列 建议用户切换到横向模式 AFAIK 在当前的浏览器中没有办法以编程方式做到这一点 CSS3 定义 page
  • Pygame 中正在进行的两个音乐曲目之间的淡入淡出

    我的意图是两首音乐曲目 性质相似 彼此之间淡出在不同的时间 当发生这种淡入淡出时 一个音乐曲目应在短时间内从最大音量淡入静音 同时另一首曲目应从 0 淡出到 100 并继续播放从同一时间索引 他们必须能够做到这一点动态地任何时候 当某个动作
  • 如何使用MOQ框架为抽象基类创建Mock?

    我想为 MyClass 编写单元测试 但它的基类是一个抽象类 public class MyClass AbstractBaseClass 我想模拟抽象基类 以便在创建要测试的 MyClass 实例时可以跳过其构造函数中的一些逻辑 无论如何
  • R nls 奇异梯度

    我尝试搜索有关此主题的其他线程 但没有一个修复对我有用 我有一个自然实验的结果 我想显示符合指数分布的事件连续发生的次数 我的R shell粘贴在下面 f lt function x a b a exp b x gt x 1 1 2 3 4
  • 我可以在 JavaScript 中压缩数据吗?

    我正在使用一些相当繁重的 AJAX 其中包含从客户端到服务器的大量数据 在发送到服务器之前如何压缩数据 主要是纯文本 那么如何在服务器端解压数据呢 jSEND 似乎正是这样做的 有人用过吗 已删除损坏的链接 导致垃圾邮件登陆页面 jsend
  • 如何在 angular.js 中捕获具有任意数量斜杠的 URL?

    我想创建一个处理文件的有角度的网站 用户可以在文件系统树中导航 就像在 github 上一样 github com angular angular js tree master path to my file js 我想捕捉到这一点path
  • 创建一个协程来淡出不同类型的对象

    您好 我正在尝试创建一个统一的协程 它将处理各种对象的淡入淡出 到目前为止 我能够获得我想要的不同类型的 alpha 值 但对于如何在 lerping 后设置新颜色 我陷入了死胡同 这是我的代码 public static IEnumera
  • MVC3 部分视图和模型不回发更改

    我有一个模型 其中包含可以修改的项目集合 我使用部分视图呈现集合 该视图又使用 EditorForModel 输出集合中每个元素的 HTML model Footy Models EventModel h2 Model Team1Name
  • 如何使用 ng-click 进行重定向

    我正在尝试构建超级简单的 AngularJS 应用程序 将凭据接受到两个文本框中 然后使用双向绑定将按钮单击重定向到其中包含两个变量的 url 我的问题是 我可以让它工作一个简单的 a href 或者也许 ng href 但由于某种原因 无
  • 如何在 C 中公开 C++ 函数指针?

    我在 C 中定义了两种类型的函数指针 如下所示 typedef void CallbackFn bool std string py array t
  • Java Web 服务/JAXB - 抽象超类

    我有一个包含 JAXB 带注释的类和抽象超类的包 我想在 Web 服务接口中使用这个超类 所以我 可以将任何子类作为参数传递 当我这样做时 会抛出异常 javax xml ws WebServiceException javax xml b