小编Chr*_*ouy的帖子

使用 QueryDSL 使用 Spring Data MongoDB 查询 DBRef

我正在使用 Spring Data MongoDB 和 QueryDSL 来执行一些简单的查询,但是我在尝试将谓词与 DBRef 对象的字段一起使用时遇到了问题。

似乎 DBRef 没有解析,所以查询总是返回空结果。从 2014 年开始,这个话题主要有一些问题,虽然似乎在 QueryDSL 和 Spring Data 方面都做了一些工作,但我仍然无法让它工作,也没有找到任何工作示例。

我正在寻找一个简单的解决方案,如以下简化的测试用例:

@Document
class Foo {
    @Id Integer id;
    @DBref Bar bar;
}

@Document
class Bar {
    @Id Integer id;
    String name;
}

interface FooRepository extends MongoRepository<Foo, Integer>, QueryDslPredicateExecutor<Foo> { ... }
Run Code Online (Sandbox Code Playgroud)

以及我尝试使用的查询:

fooRepository.findAll(QFoo.foo.bar.name.eq("test"))
Run Code Online (Sandbox Code Playgroud)

我正在使用 QueryDSL 4.1.4、Spring Boot 1.5.3 和 Spring Data MongoDB 1.10.3

这是支持的吗?我错过了什么吗?

mongodb querydsl spring-data spring-data-mongodb

5
推荐指数
1
解决办法
1344
查看次数

Spring WS:如何将Interceptor应用于特定端点

我在Spring应用程序上使用httpBasic身份验证有多个工作SOAP Web服务,我需要在其中一个上使用WS-Security来允许使用以下Soap Header进行身份验证.

<soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soap:mustUnderstand="1">
  <wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-1">
    <wsse:Username>username</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
  </wsse:UsernameToken>
</wsse:Security></soap:Header>
Run Code Online (Sandbox Code Playgroud)

当前WSConfiguration根据做https://github.com/spring-projects/spring-boot/blob/master/spring-boot-samples/spring-boot-sample-ws/给像

@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter {

    @Bean
    public ServletRegistrationBean dispatcherServlet(ApplicationContext applicationContext) {
        MessageDispatcherServlet servlet = new MessageDispatcherServlet();
        servlet.setApplicationContext(applicationContext);
        return new ServletRegistrationBean(servlet, "/services/*");
    }

    @Bean(name = "SOAP1")
    public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema soap1) {
        DefaultWsdl11Definition wsdl11Definition = new DefaultWsdl11Definition();
        wsdl11Definition.setPortTypeName("Soap1");
        wsdl11Definition.setLocationUri("/soap1/");
        wsdl11Definition.setTargetNamespace("http://mycompany.com/hr/definitions");
        wsdl11Definition.setSchema(soap1);
        return wsdl11Definition;
    }

    @Bean
    public XsdSchema soap1() {
        return new SimpleXsdSchema(new ClassPathResource("META-INF/schemas/hr.xsd"));
    }

}
Run Code Online (Sandbox Code Playgroud)

http://spring.io/blog/2013/07/03/spring-security-java-config-preview-web-security/的 Web Security 看起来像这样

@EnableWebSecurity …
Run Code Online (Sandbox Code Playgroud)

java spring soap wsse

1
推荐指数
1
解决办法
9209
查看次数