簡體   English   中英

使用Springservlet實現Weblogic Rest Service

[英]Weblogic Rest Service implementation with Springservlet

我正在嘗試將基於Rest的Web服務應用程序部署到Weblogic控制台12C上。 為此,我使用了Spring-Jersey實現和Spring依賴注入。
在嘗試訪問我的服務時,我必須使用Weblogic的/ resources / *路徑,因為/ rest / *不起作用。 此外,SpringServlet沒有被調用,但Weblogic自己的JAX-RS Jersey實現正在運行。 我已經檢查過,在應用程序啟動期間,bean會在春天之前正確創建。
任何人都可以提供有關如何使用我的實現而不是Weblogic的默認JAX-RS解決方案的解決方案。

web.xml中。

 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>TestWeb</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:testWebContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> <servlet> <servlet-name>jersey</servlet-name> <servlet-class> com.sun.jersey.spi.spring.container.servlet.SpringServlet </servlet-class> <init-param> <param-name>POJOMappingFeature</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>com.test.web.service</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> 

testWebContext.xml

 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <bean id="testWebService" class="com.test.web.service.TestWebServiceImpl"> <property name="testWebBo" ref="testWebBo"/> </bean> <bean id="testWebBo" class="com.test.web.bo.TestWebBOImpl"/> <bean name="destReader" init-method="readDestinations" class="com.test.web.util.DestinationReader"/> </beans> 

將weblogic.xml文件插入已部署應用程序的WEB-INF文件夾中。

這里有一個示例文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">  
 <library-ref>    
    <library-name>jax-rs</library-name>    
    <specification-version>2.0</specification-version>  
    <implementation-version>2.5.1</implementation-version>    
    <exact-match>false</exact-match>
 </library-ref>
 <container-descriptor>
    <prefer-application-packages>
        <package-name>org.glassfish.jersey.client.*</package-name>
        <package-name>org.glassfish.jersey.servlet.*</package-name> 
        <package-name>org.glassfish.jersey.jaxb.internal.*</package-name>   
        <package-name>com.sun.research.ws.wadl.*</package-name>
        <package-name>org.glassfish.hk2.*</package-name>
        <package-name>org.jvnet.hk2.*</package-name>
        <package-name>jersey.repackaged.org.objectweb.asm.*</package-name>
        <package-name>org.objectweb.asm.*</package-name>
        <package-name>com.sun.ws.rs.ext.*</package-name>
        <package-name>org.aopalliance.*</package-name>
        <package-name>javax.annotation.*</package-name>
        <package-name>javax.inject.*</package-name>
        <package-name>javax.ws.rs.*</package-name>
        <package-name>jersey.repackaged.com.google.common.*</package-name>
        <package-name>javassist.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
    <context-root>your root name</context-root>
  </weblogic-web-app>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM