jboss7的JAX-WS客户端

jboss版本 jboss-eap-6.1, 实际上就是jboss-as-7.x.fianal

本篇讨论使用jboss7自带的cxf库,使用wsdl文件生成和部署jax-ws的客户端程序。

首先明确一点,soap形式的jax-ws的服务/客户两端所依赖的技术框架原理上是么有任何关系的,应此当你拿对方服务的wsdl时,只需考虑你客户端本身的技术栈(很长一段时间我都被误导了)。 我写了一个项目部署在jboss-eap-6.1,查了下它的的jax-ws是cxf实现的,那就索性使用cxf框架构建客户端,省时省力。

 

步骤:

1.使用jboss自带的wsdl2java工具生成客户端stub

    ${JBOSS_HOME}/bin/wsconsume.sh(bat)  myservice.wsdl

wsconsume工具参考文档。

https://docs.jboss.org/author/display/JBWS/wsconsume 

2. 打包生成wsconsume生成的class文件。使用jar命令

     ${JAVA_HOME}/bin/jar cvf myservcie.jar   -C classdir/  .

3. 将jar包添加到你的项目中,并添加项目对jboss cxf的module的依赖。

     修改WEB-INFO下的jboss-deployment-structure.xml。   这个文件的作用和意义可自行了解jboss-as的module结构和class load机制

      添加对 <module name="org.apache.cxf" />的依赖。

4. 编写调用代码

       service = new yourSevice(new URL("your service location"),new Qname("you service's target name","servcie name"));

       service_portType = service.getYourServiceHttpSoap12Endpoint()

       service_portType.servicemethod();

大功告成。

对于更多jax-ws客户端的知识可参考我另一篇总结,有源码的

http://www.cnblogs.com/surprizeFuture/articles/4784711.html

 

posted on 2016-03-15 14:51  benzero  阅读(359)  评论(0编辑  收藏  举报