首页 > 解决方案 > 在@XmlSchema 和@XmlRootElement 中使用外部值

问题描述

我有一个 web 服务客户端,其中命名空间会根据环境而变化,所以我试图将其值外部化到属性文件并将其替换到类中,但我不知道这是否可能。

我正在尝试做的示例:

@XmlRootElement(name = "myname", namespace = "${namespace}")
public class Response

@XmlSchema(namespace = "${namespace}", elementFormDefault = XmlNsForm.QUALIFIED, xmlns = {
    @XmlNs(prefix = "int", namespaceURI = "${namespace}") })

package myPackage;

我有一个属性文件,其值为:

namespace=http://environment/test

我正在使用 Spring 来调用 Web 服务:

public class MyClient implements IMyClient {

    @Autowired
    private WebServiceTemplate template;

    @Override
    public Response call(Petition petition) {
          return (Response) template.marshalSendAndReceive(petition);
    }
}

这可能吗?谢谢。

标签: javajaxbmarshalling

解决方案


推荐阅读