开发webservice的时候使用内置对象的确很头疼,网上找了好多资料才勉强搜集了一下,给大家分享一下吧。
1.axis2获取内置对象
package org.lxh;
public class Snippet {
public HttpServletRequest getRequest() {
MessageContext mc = MessageContext.getCurrentMessageContext();
if (mc == null) {
System.out.println("无法获取到MessageContext");
return null;
}
HttpServletRequest request = (HttpServletRequest)mc.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
return request;
}
public HttpServletResponse getResponse() {
MessageContext mc = MessageContext.getCurrentMessageContext();
if (mc == null) {
System.out.println("无法获取到MessageContext");
return null;
}
HttpServletResponse response = (HttpServletResponse)mc.getProperty(HTTPConstants.MC_HTTP_SERVLETRESPONSE);
return response;
}
}
2.cxf获取内置对象
package org.lxh;
import java.util.Date;
import javax.annotation.Resource;
import javax.jws.WebService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import org.apache.cxf.message.Message;
import org.apache.cxf.transport.http.AbstractHTTPDestination;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@WebService
public class SendSMSImpl implements SendSMS {
private Logger log = LoggerFactory.getLogger(this.getClass());
@Resource
private WebServiceContext context;
public String getIp() {
try {
MessageContext ctx = context.getMessageContext();
HttpServletRequest request = (HttpServletRequest) ctx
.get(AbstractHTTPDestination.HTTP_REQUEST);
String ip = request.getRemoteAddr();
return ip;
} catch (Exception e) {
return "获取ip失败";
}
}
}
这只是个小例子代码不要全部照抄,看懂就行。
分享到:
相关推荐
webservice axis2 cxf jar包及简单实例
描述了Axis2与CXF的特点、区别及适用场合,并对比了效率
手头上做的java web的项目需要调用.net wcf发布的webservice,查资料看到XFire,Axis2,CXF这三种方式,然后仔细进行了一下对比。资料全来源自网络,不保证完全正确。
Axis2版本学习笔记,CXF版学习笔记,WebServices学习笔记
Axis和CXF的比较.txtAxis和CXF的比较.txtAxis和CXF的比较.txt
cxf客户端调用axis服务端流程
cxf与axis2框架的区别,用于webservice开发的两个重要框架
tools的工具包,axis2,apache-cxf
介绍AXIS2中OMElement和Java对象之间的转换
WebService当服务端两种生成wsdl协议方式,Axis和XFire(CXF)前者搞过WebService的人应该都知道扩展性比较好但是不支持Spring,后者基本逻辑全都封装在了底层API中,模式比较固定,开发比Axis简单,但是没有Axis灵活。...
用框架cxf调用axis2提供的接口服务的一个简单例子,
使用spring3+ cxf 3.4做服务方,Axis1.4做请求方,在调用的时候,通过转换cxf的wsdl格式为axis1.4的wsdl格式来达到调用的目的。
如果你选择了webservice方式对现有的系统进行封装,需要对现有的技术框架进行了解和评估,本文对现有的部分开源webservice框架进行描述对比。
WebService流行框架之Axis和CXF=.docxWebService流行框架之Axis和CXF=.docx
关于WebService的实例及相关axis/apache-cxf的应用关于WebService的实例及相关axis/apache-cxf的应用
想对比xfire,cxf和axis2,并看看他们各自的主要内容么,请下载想对比xfire,cxf和axis2,并看看他们各自的主要内容么,请下载
现在主流的webService框架,一个是axis2,一个是cxf,本资源是基于cxf框架的简单例子
使用axis和CXF实现web service的说明文档。
axis2_demo实战 复杂对象传输 文件传输 webservice实例 传List ,传Object 传对象,传文件 各种实战。 有备注说明whdd
axis1.4和axis2相关jar文件,axis1.4和axis2相关jar文件