- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 axis2 将现有类的方法公开为 Web 服务(自下而上的方法)。该方法以一个复杂对象(非原始类型)作为参数并返回一个复杂对象。
我知道当我将方法公开为 Web 服务时,axis2 会尝试在 wsdl 文件中为我生成模式,我可以通过访问 Web 服务 url 并将 ?wsdl 附加到末尾来获取 wsdl 文件
但经过仔细检查,参数中复杂类型的某些属性在生成的 wsdl 的架构部分中表示为 xs:anyType。转换为 xs:anyType 的属性是一个列表。这样做的坏处是,当我为客户端代码生成 stub 代码时,设置特定属性的方法签名将接受一个对象作为参数,即 setAttribute(Object obj)。
所以我的解决方案是使用 JAXB 2.0 生成我需要的类的 xml 模式,然后将 xsd 导入 axis2 生成的 wsdl 文件(从 Web 服务 url + ?wsdl 下载)和使用编辑后的 wsdl 而不是自动生成的。该解决方案似乎适用于客户端。设置由 stub 代码生成的属性的方法签名将采用正确的类型,即 setAttribute(AnotherComplexType abcd)。通过使用 tcpmon,我可以看到从客户端发送到服务器的 xml 似乎是正确的。
但是,这种方法不适用于服务器端,因为 axis2 不使用 JAXB 2.0 注释将接收到的 xml 转换回公开方法能够处理的类。
我的问题是,有没有办法解决我的问题?我能想到的可能方法是在收到 xml 后修改 axis2 处理它的方式(如果确实有办法,我可以手动处理它),或者使 axis2 与 JAXB 2.0 注释一起工作?还是有其他想法?
注意:我没有使用 axis2 的 JAX-WS 部分
最佳答案
最后我自己解决了这个问题。我使用 wsdl 为服务器端生成 stub 代码,修改 messageReceivers 以使用生成的消息接收器,编写一个实现生成接口(interface)的包装类,编写一个转换器以在包装类的参数中从生成的类型转换对象方法将公开给我的内部类型并公开包装类。
关于java - Axis2 Web 服务,自下而上的方法,复杂的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5950736/
看起来很简单,但我没有任何成功。 非常简单,使用 AHK,我想从下往上获取工作表中最后一行的编号,其中包含一个值。我不能自上而下,因为有些行是空白的,所以必须自下而上。 我的代码遍历选定文件夹中的所有
元素的合并排序过程步骤是什么:20 47 15 8 9 4 40 30 12 17 我遇到过这个...... Pass1: |20 47| |8 15| |4 9| |30 40| |12 17| P
我正在尝试将脚本添加到我网站上的一个页面,这是一种过渡效果,其中 div 在 View 中从下向上移动。我成功地将完全相同的脚本添加到另一个页面并且它有效,但由于某种原因,它在另一个页面上不起作用。我
我正在使用 WIC (Windows Imaging Component) 来解码图像文件并访问像素数据。我试图找出像素顺序(即自下而上或自上而下)。 我用 IWICImagingFactory::C
我想在 Reporting Services 的文本框中垂直自下而上地显示我的文本。我已经可以通过转到文本框的 WritingMode 属性并切换到 'tb-rl' 使其自上而下,但没有自下而上的选项
我是一名优秀的程序员,十分优秀!