webservice篇之简单开发(二)

发布webservice接口通常有两种方式,1是通过自分环境的jdk,再jdk的api里有对webservice的相关属性介绍,2是借助cxf框架发布webservice接口;


发布接口的流程大致分为为:服务端与客户端;

服务端:开发webservice的业务接口及实现,用(jvm )java虚拟机或服务器,如tomcat发布在服务器上,暴露出来

客户端:获取服务端的发布接口的url或wsdl文档(开发接口的相关描述,通过wsdl生成的相关接口及实现类,来调用服务端上的代码;


流程大致为,服务端发布webservice接口及实现类,通过wsdl暴露在服务端上,客户端通过获取服务端的wsdl得到的相关类而获取服务端的代理类,通过soap协议发送相关请求,调用服务端的相关代码(拦截器后面再说)


现在我说先怎么通过cxf来开发webservice(jdk了解下就行)


cxf有很多版本,我用的是3.16,有很多人都是用2.7版本的,大同小异而已,等下我会把3.16的cxf的jar包及代码会压缩下来,供下载,如果自己还行,可以根据我提供的代码,jar包进行编码!.

jar包下载地址:http://download.csdn.net/detail/rainjm/9743866

第一步,在你的开发工具里建立一个web工程;

第二步,导入cxf的jar包(略)

第三部,服务端创建接口并发布


接口代码:

package com.azj.service;


import javax.jws.WebService;


@WebService
public interface oderSel {
public String getName(String name);


}


接口实现代码:

package com.azj.service;


import javax.jws.WebService;


@WebService(endpointInterface="com.azj.service.oderSel",serviceName="orderSeiImpl")
public class orderSeiImpl implements oderSel {


@Override
public String getName(String name) {

return "你好:"+name;
}


}


发布:

package com.azj.service;


import javax.xml.ws.Endpoint;


public class Te {


public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/fb", new orderSeiImpl());//访问地址自己可以随意谢,后面接接口实现类
System.out.println("发布成功!");


}


}

在游览器上输入访问http://localhost:8080/fb?wsdl 看是否生成xml文档。


第四步:客户端发送参数并接受数据:

 通过接受的xml文档用cmd生成相关类进行调用:


打开本电脑的cmd小窗口,进入该项目类的src路径下:

Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有权利。


C:\Users\qwe>f:


F:\>cd F:\eclipse_eexm\webservice-spring\src


F:\eclipse_eexm\webservice-spring\src>wsdl2java -p com.azj.client http://localhost:8080/fb?wsdl


F:\eclipse_eexm\webservice-spring\src>

其中wsdl2java生成类命令,-p生成的包  后接发布的wsdl文档访问路径

第五步:调用服务端数据:


package com.azj.client;


public class Te {


public static void main(String[] args) {
OrderSeiImpl od=new OrderSeiImpl();//这里是接口的实现类,对于发布xml文档里的

               

      //<wsdl:service name="orderSeiImpl">
      //<wsdl:port  binding="tns:orderSeiImplSoapBinding"  name="orderSeiImplPort">
     //<soap:address location="http://localhost:8080/fb"/>
    //</wsdl:port>
     // </wsdl:service>

   OderSel proxy = od.getOrderSeiImplPort();//这里是生成的代理类,对于服务端的接口
    String name = proxy.getName("azj");
    System.out.println(name);
}


}

简单发布与接收就完成啦!

看看xml里面内容的文档讲解,对于理解开发,调用有帮助!

地址:http://blog.csdn.net/liguocai2005/article/details/4402350

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ctrl+C+V程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值