axis2 生成webservice客户端jar及使用-程序员宅基地

技术标签: webService  grails  axis2  

参考:

https://my.oschina.net/suyewanwan/blog/110662

 

axis2下载:http://axis.apache.org/axis2/java/core/download.html

我下载的这个:axis2-1.7.4-bin.zip

 

axis2构建webService客户端代码

ant把构建完成的代码打成jar包

 

1、wsdl2java命令生成客户端源文件

 

D:\axis2-1.7.2\bin>wsdl2java.bat -uri http://192.168.0.0/SMSend/Service.asmx?wsdl -o F:\tt -p com.bd.zd

wsdl2java -uri http://192.168.0.0/SMSend/Service.asmx?wsdl -o F:\tt -p com.bd.zd

 

-uri : wsdl文件的位置,注意检查文件路径之间不要有空格哦~有空格就需要把这段路径加“”(引号)。

-o:文件的输出位置。默认情况两个文件( java文件及build.xml)都在axis2-1.5\bin目录下

-p:生成的java文件的包名

 

2、ant打jar包

 

D:\axis2-1.7.2\bin>cd /d F:\tt
F:\tt>ant jar.client
xxxxxx....
jar.client:
      [jar] Building jar: F:\tt\build\lib\Service-test-client.jar

BUILD SUCCESSFUL

jar 在build\lib下

 

 

3、jar客户端调用:

 

    def axis(){

        ServiceStub stub = new ServiceStub();  //这个是生成的类,可能你的类名和我的是不一样的
        stub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, Boolean.FALSE);
        //加入头部验证
        ServiceStub.MySoapHeaderE headerE=new ServiceStub.MySoapHeaderE();//这里的生成的类可能和你的也不同
        ServiceStub.MySoapHeader header=new ServiceStub.MySoapHeader();//这个header即是web service的header头
        //这里执行一些属性赋值操作,一般包括用户名和密码之类
        header.name="xxxxx"
        header.passWord="xxxxxxxxxxxxxxxxxxxx"
        headerE.setMySoapHeader(header); //需要将该头加进去

        ServiceStub.Insert insert = new ServiceStub.Insert();
        insert.userID = "test100"
        insert.userName="qq"
        insert.orgID="123"
        insert.orgName="组织机构名称"
        insert.messageInfo="测试"
        insert.reNum="15352720000"
        stub.insert(insert,headerE)

    }

 

 

备注需要的jar包:

在axis2中都有,可在axis2\lib 中获取!!!

 

参考:http://www.cnblogs.com/winclpt/articles/5206510.html

 

axis2 webservice 服务端jar包:

-->axis2-kernel-1.6.1.jar
-->axis2-spring-1.6.1.jar
-->axis2-transport-http-1.6.1.jar
-->XmlSchema-1.4.7.jar
-->wsdl4j-1.6.2.jar
-->axiom-api-1.2.12.jar
-->axiom-impl-1.2.12.jar
-->neethi-3.0.1.jar
-->axis2-transport-local-1.6.1.jar
-->commons-httpclient-3.1.jar
-->axis2-jaxws-1.6.1.jar
-->spring.jar
-->commons-logging-1.1.1.jar
-->axis2-adb-1.7.0.jar

 

axis2 webservice client端jar包 :

-->axis2-kernel-1.6.1.jar
-->axis2-adb-1.6.1.jar
-->axiom-api-1.2.12.jar
-->commons-logging-1.1.1.jar
-->wsdl4j-1.6.2.jar
-->XmlSchema-1.4.7.jar
-->axiom-impl-1.2.12.jar
-->neethi-3.0.1.jar
-->axis2-transport-local-1.6.1.jar
-->axis2-transport-http-1.6.1.jar
-->commons-httpclient-3.1.jar
-->httpcore-4.0.jar
-->commons-codec-1.3.jar

 

各种类缺失对应的jar包:

java.lang.NoClassDefFoundError: org/apache/woden/WSDLException		--->woden-core-1.0M10.jar
org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder   -->axis2-spring-1.6.1.jar
org.apache.axis2.transport.http.AxisServlet				-->axis2-transport-http-1.6.1.jar
javax.wsdl.xml.WSDLLocator                                              -->wsdl4j-1.6.2.jar
org.apache.ws.commons.schema.resolver.URIResolver                       -->XmlSchema-1.4.7.jar
org.apache.axiom.om.OMNode                                              -->axiom-api-1.2.12.jar
org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory           -->axiom-impl-1.2.12.jar
org.apache.neethi.PolicyComponent                                       -->neethi-3.0.1.jar
org.apache.axis2.transport.local.LocalTransportSender                   -->axis2-transport-local-1.6.1.jar
org.apache.commons.httpclient.HttpException                             -->commons-httpclient-3.1.jar
javax.mail.internet.ParseException                                      -->mail-1.4.jar
org.apache.commons.fileupload.FileItemFactory                           -->commons-fileupload-1.2.jar
org.apache.woden.resolver.URIResolver                                   -->woden-api-1.0M9.jar
org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher            -->axis2-jaxws-1.6.1.jar
org.apache.commons.io.FileUtils                                         -->commons-io-1.4.jar
org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver                 -->axis2-adb-1.6.1.jar
org.apache.axis2.rpc.client.RPCServiceClient                            -->axis2-adb-1.6.1.jar
org.apache.axis2.AxisFault						-->axis2-kernel-1.6.1.jar
org.apache.axis2.addressing.EndpointReference                           -->axis2-kernel-1.6.1.jar
org.apache.axis2.client.Options                                         -->axis2-kernel-1.6.1.jar
org.apache.commons.logging.LogFactory                                   -->commons-logging-1.1.1.jar
org.apache.axis2.transport.http.CommonsHTTPTransportSender              -->axis2-transport-http-1.6.1.jar
org.apache.http.HttpResponseFactory                                     -->httpcore-4.0.jar
org.apache.commons.codec.DecoderException                               -->commons-codec-1.3.jar

 

 

 

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/midWander/article/details/84878188

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法