配置jax-ws webservices的maven jetty(版本8.1)插件

时间:2012-03-11 02:52:47

标签: maven jetty jax-ws

我已经设法配置maven jetty插件,以成功部署与spring和各种其他库的jax-ws战争。然而,尽管部署成功,我总是获得HTTP ERROR 404 Problem accessing /tstsrv Reason: not found

我的POM文件的相关部分如下。我已经评论了很多配置,我试过没有成功,即jetty-jaxws2spi spi,我不知道如何配置它。

<build>
<finalName>tstsrv</finalName>

<plugins>
  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <dependencies>
      <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
      </dependency>
    <!-- dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-jaxws2spi</artifactId>
        <version>7.0.1.v20091125</version>
    </dependency -->    
      <dependency>  
          <groupId>com.sun.xml.ws</groupId>  
          <artifactId>jaxws-rt</artifactId>    
          <version>2.2.6</version>
      </dependency>               
    </dependencies>
    <configuration>
      <war>${basedir}/target/tstsrv.war<!-- ${basedir}/target/${project.artifactId}-${project.version}.${project.packaging}--></war>
      <webApp>
        <extraClasspath>${basedir}/src/main/custom/.</extraClasspath>
        <contextPath>/tstsrv</contextPath>
        <jettyEnvXml>${basedir}/src/test/resources/jetty-env.xml</jettyEnvXml>            
      </webApp>

      <!-- systemProperties>
        <systemProperty>
          <name>com.sun.net.httpserver.HttpServerProvider</name>
          <value>org.eclipse.jetty.jaxws2spi.JettyHttpServerProvider</value>         
        </systemProperty>
      </systemProperties -->

      <connectors>
        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
          <port>9090</port>
          <maxIdleTime>60000</maxIdleTime>
        </connector>
      </connectors>        

      <loginServices>
        <loginService implementation="org.eclipse.jetty.security.HashLoginService">
          <name>myrealm</name>
          <config>${basedir}/src/test/resources/jetty-realm.properties</config>
        </loginService>
      </loginServices>    

     <requestLog implementation="org.eclipse.jetty.server.NCSARequestLog">
        <filename>target/tmp/yyyy_mm_dd.request.log</filename>
        <retainDays>90</retainDays>
        <append>true</append>
        <extended>false</extended>
        <logTimeZone>GMT</logTimeZone>         
     </requestLog>   
    </configuration>
  </plugin>
</plugins>    

我的Spring配置未使用com.sun.xml.ws.transport.http.servlet.WSSpringServlet。我正在延长SpringBeanAutowiringSupport。我认为这是相关的,因为我能够完成这项工作,但只能使用WSSpringServlet。我在this blog中使用了一个例子并且有效。 但是,这个解决方案不是一个选项,因为我在生产中使用weblogic,这意味着代码更改

寻求任何帮助。

1 个答案:

答案 0 :(得分:0)

我能够通过使用maven配置文件控制的不同配置来解决此问题。一个用于测试的WSSpringServlet和一个没有它的原始版本。

向评论者提出回应此问题的时间。