java – 基于“纯弹簧”的servlet有像基于CXF的WSDL的端点URL吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 基于“纯弹簧”的servlet有像基于CXF的WSDL的端点URL吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1428字,纯文字阅读大概需要3分钟。
内容图文
我有一个使用Spring的完美工作的演示服务器/客户端应用程序对(仅!) – 不涉及CXF或WSDL.它在Apache Tomcat 7.0.34的帮助下运行.
我很想知道是否可以在浏览器上看到它的存在迹象(http:// localhost:8080 /),但我找不到源代码中的URL的任何提示(从教程中逐字复制).
然后我找到了this thread,它提供了获取端点URL的方法:
TransportContext tc = TransportContextHolder.getTransportContext();
WebServiceConnection wc = tc.getConnection();
URI uri = wc.getUri();
我将此添加到我的demo / tutorial客户端代码中,而第一个语句(getTransportContext())不会抛出任何异常,它返回null,因此第二个(getConnection())抛出NullPointerException.
为什么?
“纯粹的”基于Spring的servlet是否缺少端点URL?
如果没有,我错过了什么?检索服务URL的方法是什么?
我知道客户端通过上下文路径和bean id(在shared beans.xml中定义)知道服务器:
ClassPathXmlApplicationContext appContext =
new ClassPathXmlApplicationContext( new String[] {"/sample/spring/beans.xml" } );
但是不存在相当于此的URL吗?像WSDL一样吗?
解决方法:
我同意@ GreyBeardedGeek的评论,在Spring web-app(一般的java servlet web-app)上没有端点URL的概念.
如果确实需要运行时查找用户用于访问应用程序的URL,可以使用ServletRequest / HttpServletRequest方法,如getRemoteAddr(),getRemoteHost(),getURL(),getContextPath()等.例如:
@RequestMapping("/home")
public String home(HttpServletRequest req) {
String host = req.getRemoteHost();
// ...
}
但请记住,多个URL可以指向同一个tomcat服务器,例如,如果设置了反向代理/ DNS CName.这可能(或不会)为您提供不同的URL.
内容总结
以上是互联网集市为您收集整理的java – 基于“纯弹簧”的servlet有像基于CXF的WSDL的端点URL吗?全部内容,希望文章能够帮你解决java – 基于“纯弹簧”的servlet有像基于CXF的WSDL的端点URL吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。