gpt4 book ai didi

java - 针对 xsd 测试 Web 服务对象

转载 作者:行者123 更新时间:2023-12-01 12:01:03 31 4
gpt4 key购买 nike

我的任务是为 Web 服务编写测试。但测试只是为了根据 xsd 文件验证我们的对象。测试步骤为:从我们的 xsd 创建一个 Schema 对象。然后从模式中获取 validator 并根据它验证我们的对象。我的问题:

  • 此测试的目的是什么?是为了防止有人改变对象结构吗?
  • 是否应该以这种方式测试 xsd 中描述的所有对象?尝试测试没有 的对象时,出现 javax.xml.bind.MarshalException(无法将类型“classname”编码为元素,因为它缺少 @XmlRootElement 注释) @XmlRootElement 注释。

在哪里可以阅读更多这些类型的测试以及它们是如何命名的?

最佳答案

一种测试方法是使用表示整个服务负载的 XML 文件。然后,对到处都有错误的 XML 进行更改,并验证每个更改。

另一种方法是创建子元素并使用它们进行编码

<T> JAXBElement<T> wrap( String ns, String tag, T o ){
QName qtag = new QName( ns, tag );
Class<?> clazz = o.getClass();
@SuppressWarnings( "unchecked" )
JAXBElement<T> jbe = new JAXBElement( qtag, clazz, o );
return jbe;
}

JAXBElement<Foo> jbe = wrap( "/some/ns", "aFoo", new Foo() );
m.marshal( jbe,... );

并将生成的 XML 数据传递给验证。

关于java - 针对 xsd 测试 Web 服务对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27979949/

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