webservice使用cxf的实例

本文介绍了一个使用CXF框架实现的SOAP Web服务示例。该服务定义了一个对外发布的接口ISayHi,并实现了该接口的具体操作。文章还展示了如何在Spring环境中配置此服务,并在web.xml中设置CXF Servlet。

 

1.对外发布的接口

2.接口的实现

3.集成spring

4.cxf 在web.xml中配置

 

//对外发布的接口: 与业务分离
@WebService
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface ISayHi {

 public void sayHi(@WebParam(name="head", partName="head",targetNamespace="http://www.it.com/head", header = true) ReqHead head,
   @WebParam(name="body", partName="reqBody",targetNamespace="http://www.it.com/body") ReqBody reqBody,
   @WebParam(name="head", partName="resHead",targetNamespace="http://www.it.com/head", header = true, mode = WebParam.Mode.OUT) Holder<ReqHead> resHead,
   @WebParam(name="body", partName="resBody",targetNamespace="http://www.it.com/body", mode = WebParam.Mode.OUT) Holder<ResBody> resBody);
}

 

@WebService(endpointInterface = "cn.interfaces.exp.ISayHi")
public class SayHiImpl implements ISayHi {
 private IHello2 hello2;

 public void sayHi(ReqHead head, ReqBody reqBody, Holder<ReqHead> resHead,
   Holder<ResBody> resBody) {
  resHead.value = head;
  User u =reqBody.getReqData();
  User result = hello2.sayHi(u);
  ResBody body = new ResBody();
  body.setResData(result);
  resBody.value = body;
 }
 
 public IHello2 getHello2() {
  return hello2;
 }
 public void setHello2(IHello2 hello2) {
  this.hello2 = hello2;
 }

}

 

<jaxws:endpoint id="hello2Addr" address="/hello2Addr" implementorClass="cn.interfaces.exp.ISayHi">
     <jaxws:implementor>
      <bean id="sayHiImpl" class="cn.interfaces.exp.SayHiImpl">
       <property name="hello2" ref="hello2"></property>
      </bean>
     </jaxws:implementor>

</jaxws:endpoint>

 

web.xml 中加入下面的配置:

<servlet> 
    <servlet-name>CXF</servlet-name> 
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
  </servlet> 
  <servlet-mapping> 
    <servlet-name>CXF</servlet-name> 
    <url-pattern>/webservice/*</url-pattern> 
  </servlet-mapping>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值