相关疑难解决方法(0)

CXF客户端SOAP消息格式化

我用来创建CXF客户端的WSDL文件具有以下元素定义:

<xsd:element name="Rate"> 
  <xsd:simpleType>
    <xsd:restriction base="xsd:decimal">
      <xsd:totalDigits value="18" />
      <xsd:fractionDigits value="2" />
    </xsd:restriction>
  </xsd:simpleType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试发送SOAP消息时,小数点后的位数超过最大值.例如,我得到2.48862,而期望2.48.为了解决这个问题,我计划实现一个XmlAdapter来编组值,但是我无法将WSDL中的元素映射到客户端,因为XmlAdapter的onyl类作为注释传递给字段decleration.

@XmlJavaTypeAdapter(CustomXmlAdapter.class)
Run Code Online (Sandbox Code Playgroud)

似乎没有办法通知XmlAdapter该字段必须在小数点后有2位数.

小数位数从元素到元素的变化.我也没有权限更改WSDL.

有没有办法在观察WSDL中指定的小数点数时格式化这些元素?

java soap wsdl web-services cxf

11
推荐指数
1
解决办法
878
查看次数

谁在使用XML Schema 1.1版本?哪个解析器版本支持它?等等

XML Schema 1.1版本的非常好的有趣功能对我的用例非常有用.但是,它似乎相对较新.因此,在最终确定决定之前,我想回答以下问题.

  1. 哪个版本的JAXB支持1.1?
  2. 哪个版本的XmlBeans支持1.1?
  3. SOAP/WSDL是否支持1.1?
  4. 使用这个是否会限制我的API客户端选择的soap堆栈?
  5. 哪个版本的JAXP开始支持这个.我知道JAXP支持验证1.1模式,但不确定从哪个版本.
  6. 还有其他我应该考虑的事情吗?

问候.

xsd soap wsdl xmlbeans jaxb

5
推荐指数
1
解决办法
3290
查看次数

标签 统计

soap ×2

wsdl ×2

cxf ×1

java ×1

jaxb ×1

web-services ×1

xmlbeans ×1

xsd ×1