有条件地公开Spring Web服务操作

时间:2018-07-02 19:35:07

标签: java spring web-services spring-ws

我们在应用程序中使用Spring Web服务,并且要求进行一项新的操作(用于内部测试),仅在我们的开发和测试环境中可用。我知道如何在Axis中处理这样的要求(我们有一个这样的模块,我们在其中简单地从wsdd的“ allowedMethods”参数中添加或删除操作),但是我不知道如何在Spring中完成此操作,在网上搜索真是运气不佳。我们有什么选择?

1 个答案:

答案 0 :(得分:1)

Spring配置文件将为您提供帮助:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

webpack.config.js

您可以在Bean上使用配置文件:

plugins:[
 new webpack.ProvidePlugin({
   $: "jquery",
   "$": "jquery",
   "jQuery": "jquery",
   "jquery": "jquery",
   jQuery: "jquery",
   jquery: "jquery",
   "window.jQuery": "jquery",
   "window.$": "jquery"
 })
 .
 .
 .

或在XML中:

@Configuration
@Profile("dev")
public class ProductionConfiguration {

    // ...

}

您还可以指定WebApplicationInitializer正在使用哪些配置文件:

@Component
@Profile("dev")
public class DevDatasourceConfig

<beans profile="dev">
    <bean id="devDatasourceConfig"
      class="org.baeldung.profiles.DevDatasourceConfig" />
</beans>

或web.xml:

@Configuration
public class MyWebApplicationInitializer implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        servletContext.setInitParameter("spring.profiles.active", "dev");
    }
} 

或JVM参数:

@Autowired
private ConfigurableEnvironment env;
...
env.setActiveProfiles("dev");

或环境变量:

<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>dev</param-value>
</context-param>