gpt4 book ai didi

java - Jersey 1.9 RESTful服务资源库重新定义

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:48 24 4
gpt4 key购买 nike

我们在 WebLogic Server 11g (10.3.6.0) 集群上部署了一个 REST 服务作为 Web Archive。以下屏幕截图显示了 URL:

Settings for RESTServices访问 WADL (http://172.29.0.21:16200/cwe-rest/jersey/application.wadl) 应将资源库显示为http://172.29.0.21:16200/cwe-rest/jersey/ 但显示为 http://wcpinternal.uk:80/cwe-rest/jersey/

Web Archive 中没有扩展 javax.ws.rs.core.Application 的 Java 类,其中可以指定 @ApplicationPath("override/the/base/uri")

完整的 WADL

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<application xmlns="http://wadl.dev.java.net/2009/02">
<doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 1.9 09/02/2011 11:17 AM"/>
<grammars/>
<resources base="http://wcpinternal.uk:80/cwe-rest/jersey/">
<resource path="checkin">
<resource path="/test">
<method id="test" name="GET">
<response>
<representation mediaType="*/*"/>
</response>
</method>
</resource>
<resource path="/doCheckinFilter">
<method id="doCheckinFilter" name="POST">
<request>
<representation mediaType="application/json"/>
</request>
<response>
<representation mediaType="application/json"/>
</response>
</method>
</resource>
</resource>
</resources>
</application>

完整的 web.xml

<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
<filter>
<filter-name>JpsFilter</filter-name>
<filter-class>oracle.security.jps.ee.http.JpsFilter</filter-class>
<init-param>
<param-name>enable.anonymous</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>JpsFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>jersey</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey</servlet-name>
<url-pattern>/jersey/*</url-pattern>
</servlet-mapping>
</web-app>

完整的 weblogic.xml

<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<context-root>cwe-rest</context-root>
<library-ref>
<library-name>jax-rs</library-name>
<specification-version>1.1</specification-version>
<implementation-version>1.9</implementation-version>
<exact-match>false</exact-match>
</library-ref>
</weblogic-web-app>

这是如何实现的?任何见解都会有所帮助。

最佳答案

web.xml 中的 url 模式已配置。

 <servlet-mapping>
<servlet-name>jersey</servlet-name>
<url-pattern>/jersey/*</url-pattern>
</servlet-mapping>

wadl 资源元素值是从第一个请求的基本 URL 中提取的。例如。我有一个基于 Jersey 的 Web 应用程序部署到 localhost:7001。如果您尝试通过以下方式访问 wadl那么基本 url 是 localhost:7001

1.重新部署您的应用程序,尝试使用您的 Machine name:port 进行访问,然后基本 url 为 Machine name:port 。希望对您有帮助。

关于java - Jersey 1.9 RESTful服务资源库重新定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43918730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com