我正在使用maven jaxws插件从我的wsdl模式生成java类。它没有在生成的类中生成@XmlElementWrapper注释。从这篇文章中,我了解到我需要使用jaxb xew插件,但我无法让它与maven jaxws插件一起工作。任何帮助都将不胜感激。这是我试过的配置
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<xjcArgs>
<xjcArg>-no-header</xjcArg>
<xjcArg>-Xxew</xjcArg>
<xjcArg>-Xxew:instantiate lazy</xjcArg>
<xjcArg>-Xxew:delete</xjcArg>
</xjcArgs>
<extension>true</extension>
<wsdlDirectory>${basedir}/src/main/resources</wsdlDirectory>
<wsdlFiles>
<wsdlFile>attribute-service.wsdl</wsdlFile>
</wsdlFiles>
<sourceDestDir>${project.build.directory}/generated</sourceDestDir>
<verbose>true</verbose>
<keep>true</keep>
<plugins>
<plugin>
<groupId>com.github.jaxb-xew-plugin</groupId>
<artifactId>jaxb-xew-plugin</artifactId>
<version>1.0</version>
</plugin>
</plugins>
</configuration>
</execution>
</executions>
</plugin>
如果它只能与maven-jaxb2-plugin集成,你能帮我升级我的Web服务吗?本质上,我该如何指定wsdl以及如何生成服务类?(带有@WebService注释)
谢谢,
巴贾
jaxb xew插件的示例页面上提供了jaxws maven插件的配置示例。jaxws maven插件2.3.1-b03与jaxb xew插件1.2配合良好。
虽然在我写这篇文章的时候,这篇文章已经有10个月了,但我会及时回复,以防有人需要。
使用jaxws maven插件和jaxb xew插件,您可以为列表/数组对象生成@XmlElementWrapper注释
假设您的wsdl有如下模式:
<xs:element name="books" minOccurs="0" >
<xs:complexType>
<xs:sequence>
<xs:element name="book" type="Book" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
它将java生成为:
@XmlElementWrapper(name = "books")
@XmlElement(name = "book")
protected List<Book> books;
这里是构建/插件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<configuration>
<wsdlDirectory>${project.basedir}/src/main/webapp/WEB-INF/wsdl/</wsdlDirectory>
<xjcArgs>
<xjcArg>-no-header</xjcArg>
<xjcArg>-Xxew</xjcArg>
<xjcArg>-Xxew:instantiate lazy</xjcArg>
<xjcArg>-Xxew:delete</xjcArg>
</xjcArgs>
</configuration>
<executions>
<execution>
<id>wsdl_import</id>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.github.jaxb-xew-plugin</groupId>
<artifactId>jaxb-xew-plugin</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2.4-1</version>
</dependency>
</dependencies>
</plugin>
有没有什么方法可以从wsdl生成xsd。任何链接或工具也可以。最简单的方法是什么?
问题内容: 我有一个巨大的QuickBooks SDK .XSD模式文件,该文件定义了我可以从QuickBooks发送/接收的XML请求/响应。 我希望能够轻松地从这些.XSD文件生成Java类,然后将其用于将XML编组为Java对象,以及将Java对象编组为XML。 是否有捷径可寻…? 理想情况下,它在运行时不需要基本Java发行版外部的任何库。但是我很灵活 问题答案: JAXB确实可以满足您的
与JAXB为给定XSD生成JAXB类类似,Jackson是否提供了从XSD或JSON生成Jackson类的实用程序。 JAXB类geberator已经生成了一组为XSD模式定义的类。例如,对于多态类型,JAXB具有以下注释,以基于XML元素名称来标识名称。 是否可以在杰克逊中创建类似的类。即,基于XML元素名称来标识类型。
我在eclipse Luna中使用JAXB从第三方XSD文件生成Java类。这个文件通常定义一个简单类型,它只是一个原始类型。例如: 然后将简单类型用于复杂类型的元素,例如: JAXB为复杂类型生成一个看起来完全正确的Java类: 但是,它还为@XmlElement(name="ChannelId")行生成以下JAXB错误 有人知道这个错误消息是什么意思吗?我不能更改XSD文件,但是应该怎么做来删
cmf_plugin_url($url, $param = [], $domain = false) 功能 生成访问插件的url 参数 $url: string url格式:插件名://控制器名/方法 $param: array 参数 $domain:boolean|array 是否显示域名 或者直接传入域名 返回 string 插件的url 例子 echo cmf_plugin_url('De
X1.4.0新增 sp_plugin_url($url,$param,$domain) 功能: 生成访问插件的url 参数: $url: url 格式:插件名://控制器名/方法 $param:额外参数,默认为空数组 $domain:是否添加域名,默认false 返回: 类型url 模板使用: {:sp_plugin_url('Demo://Index/index',array('id'=>2)