栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

定制SOAP响应的JAX-WS前缀

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

定制SOAP响应的JAX-WS前缀

如果您从旧服务的WSDL开始,并使用生成了所有各种JAXB批注的请求和响应包装器类

wsimport
,那么在生成的包中,您应该找到
package-info.java
诸如

@javax.xml.bind.annotation.XmlSchema(namespace = "http://test/")package com.example.test;

JAXB提供了一种机制,可在

@XmlSchema
注释上建议前缀映射,因此您可以尝试修改
package-info.java
以读取

@javax.xml.bind.annotation.XmlSchema(namespace = "http://test/",   xmlns = {       @javax.xml.bind.annotation.XmlNs(prefix = "customns",          namespaceURI="http://test/")   })package com.example.test;

看看这对生成的消息是否有任何影响。这也具有纯JAXB规范的优点(即不依赖于RI特定的自定义上下文工厂)。

如果需要重新运行

wsimport
,可以
package-info
通过将
-npa
选项传递给来防止它覆盖修改的内容
xjc
(这告诉它不生成a
package-info.java
而是将所有必要的
namespace
设置放在类级注释上)。确切地,这取决于您的运行方式
wsimport

命令行:

wsimport -B-npa ....

蚂蚁:

<wsimport wsdl="..." destdir="..." .... >  <xjcarg value="-npa" /></wsimport>

Maven:

<plugin>  <groupId>org.jvnet.jax-ws-commons</groupId>  <artifactId>jaxws-maven-plugin</artifactId>  <version>2.2</version>  <executions>    <execution>      <goals>        <goal>wsimport</goal>      </goals>      <configuration>        <xjcArgs>          <xjcArg>-npa</xjcArg>        </xjcArgs>      </configuration>    </execution>  </executions></plugin>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号