2

我有一个示例 JAX-RS 服务通过 cxf + spring 通过令人敬畏的 jaxrs:server 指令公开。我想配置正在启动的底层码头,以通过 jcifs 设置用户名,并再次通过 cxf 的 httpj 指令配置它。

<httpj:engine-factory bus="cxf">
    <httpj:engine host="#{inetAddress.hostName}" port="${com.kilo.restful.port}">
        <httpj:handlers>
            <bean class="org.eclipse.jetty.servlet.ServletContextHandler">
                <property name="servletHandler">
                    <bean class="org.eclipse.jetty.servlet.ServletHandler">
                        <property name="filters">
                            <list>
                                <bean
                                    class="org.eclipse.jetty.servlet.FilterHolder">
                                    <property name="name" value="NTLMFilter" />
                                    <property name="filter">
                                        <bean class="jcifs.http.NtlmHttpFilter"/>
                                    </property>
                                    <property name="initParameters">
                                        <map>
                                            <entry key="jcifs.http.domainController" value="domaincontroller.kilo.com" />
                                        </map>
                                    </property>
                                </bean>
                            </list>
                        </property>
                        <property name="filterMappings">
                            <list>
                                <bean class="org.eclipse.jetty.servlet.FilterMapping">
                                    <property name="pathSpec">
                                        <value>/*</value>
                                    </property>
                                    <property name="filterName" value="NTLMFilter" />
                                </bean>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </httpj:handlers>
    </httpj:engine>
</httpj:engine-factory>

但是,我没有看到控件到达 NtlmFilter 的 doFilter 调用,尽管过滤器似乎已经初始化好了。一直在试图找出可能出了什么问题,并且已经浪费了我一天中的大部分时间。任何指针都会有所帮助!提前致谢!

4

1 回答 1

1

从邮件列表中发现这是不支持的。我不得不切换到使用 web.xml(放在 src/main/webapp 中)

    Server server = new Server(portNumber);
    WebAppContext root = new WebAppContext();
    root.setContextPath("/");
    root.setWar("src/main/webapp");
    server.setHandler(root);
    server.start();
    server.join();
于 2013-07-18T06:28:09.037 回答