解决方法
我假设您指的是< types />中的XML架构. WSDL的一部分.此模式的生成不受JAX-WS的约束,而是受JAXB规范的约束.这是JAX-WS中数据绑定的规范.
但要实际回答您的问题:是的,您可以使用代表您的数据类型的类中的相应@XMLElements批注来执行此操作.例如,采用如下的Web服务接口:
@WebService public interface Chooser { String chooSEOne(Choice myChoice); }
然后,XSD的内容取决于Choice类的结构.您可以通过以下方式强制生成选择元素:
public class Choice { @XmlElements(value = { @XmlElement(type = First.class),@XmlElement(type = Second.class) }) private Object myChoice; }
第一和第二类是选择中可能的元素.从此代码生成的模式如下所示:
<xs:complexType name="choice"> <xs:sequence> <xs:choice minOccurs="0"> <xs:element name="myChoice" type="tns:first"></xs:element> <xs:element name="myChoice" type="tns:second"></xs:element> </xs:choice> </xs:sequence> </xs:complexType>
这仍然包含序列中的选择,但由于序列中只有一个元素,这并不重要.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。