Java 在web服务wsdl/xsd中使用生成的JAXB类和列表

Java 在web服务wsdl/xsd中使用生成的JAXB类和列表,java,xml,jaxb,xsd,wsdl,Java,Xml,Jaxb,Xsd,Wsdl,我在xsd文件中有类定义。我使用JAXB绑定生成了这个类。对于列表,我没有设置器 之后,我在web服务中使用了这些类。我为服务创建了wsdl+xsd。但是在xsd中,我没有一些字段定义(用于列表,因为我没有用于这些的setter) 如何为我的类正确生成wsdl+xsd Netbeans 7.3.1+玻璃鱼 示例代码: 基本XSD: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <xs:element name="A

我在xsd文件中有类定义。我使用JAXB绑定生成了这个类。对于列表,我没有设置器

之后,我在web服务中使用了这些类。我为服务创建了wsdl+xsd。但是在xsd中,我没有一些字段定义(用于列表,因为我没有用于这些的setter)

如何为我的类正确生成wsdl+xsd

Netbeans 7.3.1+玻璃鱼

示例代码: 基本XSD:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:element name="A">
    <xs:complexType>
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="B">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="FIELD1" type="xs:dateTime">
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>
最后,我有wsdl+xsd,有一个类,但没有字段:

  <xs:complexType name="a"><xs:sequence/>
  </xs:complexType>

JAXB不会为集合生成setter。您可以使用列表的getter访问列表,然后使用list方法对其进行修改

例如:

txt.getB().add(new B());
来源:有关详细信息,请参阅

因评论而编辑: 经过对这个问题的进一步分析,我认为你要找的是答案。它是一个“用于从现有Java代码生成绑定定义和匹配模式定义的工具”


希望这能帮助你进一步解决问题。

是的,我知道。。。但我的问题是如何从JAXB生成的类为我的web服务正确生成xsd文件。我编辑了我的答案,以反映我从你的表述中理解的内容。希望这有帮助。
  <xs:complexType name="a"><xs:sequence/>
  </xs:complexType>
txt.getB().add(new B());