-
CXF Webservice如何控制浏览器访问5
CXF搭建Webservice服务时,有时不想让所有的用户都能看到wsdl数据,怎么能够拦截设置只让允许指定的个别的Ip的用户浏览器能够访问到cxf的wsdl数据。急用,请求大侠们帮忙改如何解决。
2012年10月09日 16:10
1个答案 按时间排序 按投票排序
-
不知道你的CXF搭建在那种servlet容器上面,如果是tomcat,可以写一个filter,然后在web.xml中增加filter以及filter mapping的设置,让所有访问wsdl的请求url都mapping到你写的filter,在filter里面通过request.getRemoteAddr()获取客户端的ip地址,如果是你指定的ip的话就放行,否则直接返回response应答。
web.xml
<filter> <filter-name>CXF</filter-name> <filter-class> my.filter.CxfFilter </filter-class> <init-param> <param-name>allowedip</param-name> <param-value>192.168.0.1</param-value> </init-param> </filter> <filter-mapping> <filter-name>CXF</filter-name> <url-pattern>/wsdl/*</url-pattern> </filter-mapping>
CxfFilter.java
package my.filter; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CxfFilter implements Filter { protected String allowedIp = null; public void init(FilterConfig config) throws ServletException { if (config.getInitParameter("debug") != null) { allowedIp = config.getInitParameter("allowedip"); } } public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; if(req.getRemoteAddr().equals(allowedIp)){ chain.doFilter(req, res); }else{ res.setContentType("text/html"); res.getWriter().write( "<html><body>You have no permission.</body></html>"); } } }
2012年10月24日 10:55
相关推荐
它允许用户通过浏览器访问Web服务,查看WSDL,发送请求并查看响应。 总的来说,"CXF Webservice Demo"是一个学习和实践使用Apache CXF创建和使用SOAP Web服务的好例子。它涵盖了从服务定义、实现到客户端调用的整个...
此外,结合Spring Security等框架,我们可以进一步实现细粒度的权限控制,比如基于角色的访问控制(RBAC)。 总结起来,"CXF WebService带有拦截器"的实践是Web服务开发中的一个重要方面,它允许我们在不侵入核心...
**基于CXF的Web服务发布及访问** 在Java开发中,Apache CXF是一个广泛使用的开源框架,用于构建和实现Web服务。本教程将详细介绍如何利用CXF发布基于SOAP 1.2的Web服务,以及如何进行客户端调用。首先,我们需要...
Java CXF Webservice接口在处理Web服务时,可能会遇到跨域问题,这通常是由于浏览器的安全策略限制了不同源之间的通信。解决这个问题的关键在于理解和应用CORS(Cross-Origin Resource Sharing)机制。CORS允许...
可以使用浏览器访问WSDL文档或者使用Postman等工具发送请求来验证服务是否按预期工作。 #### 六、总结 通过上述步骤,我们成功地构建了一个简单的CXF Web Service服务端。这个过程中涵盖了实体类的设计、接口定义与...
本篇文章将深入探讨如何使用CXF的`EndpointImpl`类来发布一个WebService,并加入拦截器。 首先,我们要理解`EndpointImpl`是CXF框架用于构建和配置Web服务端点的核心类。通过实例化这个类,我们可以自定义服务的...
通过浏览器访问`http://yourserver:port/context/services`,你应该能看到你的Web服务列表。使用测试客户端或任何SOAP客户端工具,调用你的Web服务。 ### 4. 总结 整合Spring MVC与CXF可以让你充分利用Spring的灵活...
- 通过浏览器访问服务的URL,例如`http://localhost:8080/CxfDemo/services/HelloWorldService`。 #### 总结 本文介绍了如何使用Eclipse、Axis2以及Spring和CXF来创建和调用WebService。通过实际操作步骤,读者可以...
你可以通过CXF提供的工具(如CXF-WS-Spy)或直接在浏览器中访问服务的地址(通常是http://localhost:8080/服务名?wsdl)来测试服务是否正常工作。 在“ws_record”文件中,可能包含了关于服务请求和响应的日志记录...
8. **测试服务**:启动Tomcat服务器,通过浏览器访问`http://<your server>:<port>/<deploymentname>/services`,查看并测试生成的WSDL文档。 ### 客户端开发 1. **获取WSDL文档**:从服务端获取WSDL文档,它是...
4. 创建服务端点:使用CXF提供的注解(如`@WebService`)或配置文件来创建服务端点。 5. 测试和部署:运行Maven的`install`命令将项目打包成WAR文件,然后将其部署到应用服务器(如Tomcat)上,最后通过SOAP客户端或...
标题:“CXF拦截器(Interceptor)的使用” 描述:“讲解了cxf实现拦截器的原因、核心API及使用方法” 在深入探讨CXF拦截器的使用之前,我们首先需要理解其在CXF框架中的核心作用与价值。Apache CXF是一个开源框架,...
服务启动后,可以通过浏览器或使用curl命令行工具访问`http://localhost:8080/hello`来测试服务。如果一切正常,你应该能看到"Hello, RESTful World!"的响应。 通过以上步骤,你已经成功地使用Apache CXF搭建了一...
6. **部署和测试**:在Spring应用服务器(如Tomcat)上部署项目,并通过CXF提供的CXFServlet访问Web服务。你可以使用CXF的客户端API或通过浏览器测试服务。 7. **RESTful服务**:如果你需要开发RESTful服务,CXF也...
5. **测试服务**:可以通过浏览器、curl命令或者编写客户端代码来调用这个服务,验证其功能是否正常。 **五、高级特性** 除了基本的GET、POST等方法,CXF还支持更多特性,如: - **数据绑定**:使用`@PathParam`...
本项目主要展示了如何使用CXF和Spring构建一个能够以JSON格式返回数据的RESTful WebService接口。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它...
- 运行项目,通过浏览器访问CXF生成的WSDL地址,确认Web服务已经发布成功。 - 可以使用CXF的WS Client工具或者自定义客户端代码进行Web服务的调用测试。 9. **示例项目** - 解压缩提供的`example`文件,它包含了...
Webservice接口,Cxf写的服务端, 是web项目,必须tomcat部署. 开发环境:32位jdk1.7+Cxf3.1.4+tomcat7, 开发工具:myeclipse8.5. 浏览器、客户端均可访问,测试通过。
然后,你可以通过浏览器访问`http://your-server-address/context-path/helloworld?wsdl`来获取服务的WSDL描述。此外,可以编写客户端代码或使用CXF的WS-Client工具来调用Web服务。 ### 7. 异常处理 在Web服务开发...
你可以通过浏览器访问`http://localhost:6666/MyCxfService?wsdl`来查看生成的WSDL(Web服务描述语言)文件,它是Web服务的接口规范。 为了消费这个Web服务,你需要创建一个客户端。这通常可以通过使用CXF的`...