【问题标题】:How to change package-info.java content如何更改 package-info.java 内容
【发布时间】:2012-10-06 18:31:34
【问题描述】:

简单的问题,但我整天都在敲头。 JAX-WS Web 服务,从第三方 WSDL 生成。 内容是这样的:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://foo.it/bar",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package it.foo.bar.webservice.generated;

webservice 工作,输出产生如下:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
 <S:Body>
   <response xmlns="it.foo.bar.bean">
     <result>

问题是正在使用网络服务的客户端,需要这样的响应:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
 <S:Body>
   <ns:response xmlns:ns="it.foo.bar.bean">
     <ns:result>

如果我手动将 XmlNs 注释添加到包信息中:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://foo.it/bar", xmlns = {
@javax.xml.bind.annotation.XmlNs(namespaceURI = "it.foo.bar.bean", prefix = "sms")
}, elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package it.foo.bar.webservice.generated;

响应按预期生成。 有没有办法只使用 wsimport 或一些 jaxb 绑定或其他方式来实现相同的结果? 我很确定有比每次都覆盖 package-info.java 更好的方法。

【问题讨论】:

    标签: java jax-ws xml-namespaces


    【解决方案1】:

    这是一个已知问题:http://java.net/jira/browse/JAXB-818

    请随意投票、评论和/或提供修复。

    【讨论】:

    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 2011-10-09
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多