1、编写客户端

Axis2开发WebService客户端 的3种方式

【参考帖子】

http://blog.csdn.net/wangjinwei6912/article/details/8512598  报错:org.xml.sax.SAXException: Bad envelope tag: definitions

http://stackoverflow.com/questions/5548282/org-xml-sax-saxexception-bad-envelope-tag-definitions

http://bbs.csdn.net/topics/210008741

http://blog.csdn.net/wjwwgh/article/details/4349744 报错:SimpleDeserializer encountered a child element, which is NOT expected

2、编写服务端

MyEclipse8.5+Axis2 1.6.2插件安装问题

【参考资料】

1:axis2 官方安装说明文档  http://axis.apache.org/axis2/java/core/tools/eclipse/plugin-installation.html

2:renxiao2003博文  http://blog.chinaunix.net/uid-78707-id-283547.html

3:myEclipse8.5 安装 axis2 jar 包整理(可下载) http://download.csdn.net/detail/hob007/4457837

   4:MyEclipse 8.5 安装 axis2 插件

  5:http://zwy20034751-163-com.iteye.com/blog/1897809

3、发布webservice服务端

利用axis2工具生成aar文件;然后把生成的arr文件复制到%TOMCAT-HOME%/webapps/axis2/WEB-INF/services下;启动tomcat,浏览器中http://localhost:8080/axis2/services/listServices就可以看到结果了

1、生成步骤 http://www.educity.cn/wenda/138802.html

利用工具生成aar文件

下面是一个超简单的service,看不懂的同学请举手

package com.demo.service.impl;

import com.demo.service.UserService;

public class UserServiceImpl implements UserService {

@Override public int Login(String username, String password)

{ // TODO Auto-generated method stub

if (username.equals("a") && password.equals("a"))

{ return 1; } return 0;

}

}

选择服务器端项目的classes目录

2、注意事项:http://www.oschina.net/question/101738_47314

Axis2 Service Archiver 
使用Eclipse插件的时候容易出现的两个错误:
1、UI显示不完整:打开插件界面,窗口只有上面和下面按钮部分,中间信息块丢失了
解决方式:最简单的方法:用鼠标拖动界面,eclipse会自动刷新一次。
根本的解决方式:关闭eclipse,找到workspace/.metadata/.plugins/a目录,删除xis2_service_archiver,再重启。
2、各种ClassNotFound
路径问题,一般都是路径设置出错,打包需要设置两个路径。一是,第一次选择要打包的路径。二是,输入打包的那个service类。
解决方式:在第一次选择路径的时候,注意只选到class这一级,类的包名不选择。
第二次指定service的时候,写好包名。

4、发布到webservice服务端后,用客户端调用时出现的异常

(1)、报错com.coast.foundation.dbutil.DBManager; 这个是所写服务端CoremailService,数据库调用时使用的工具coast.jar包,需要将此包加入%TOMCAT-HOME%/webapps/axis2/

(2)、 报错 Exception occurred while trying to invoke service method loginCheck   stackoverflow

首先,更改 axis2.xml可以更详细地跟踪错误;

in the axis2.xml ...

<parameter name="sendStacktraceDetailsWithFaults">false</parameter>

set the sendStacktraceDetailsWithFaults parameter to true and you should get a copy of the stacktrace in the response (reset to false for production)

然后,发现是webservice客户端报错:EpDB:Caused by: java.lang.NullPointerException;

webservice服务端报错:数据库连接错误,请联系管理员。

解决方案:一方面是数据库驱动ojdbc14.jar没有放到%TOMCAT_HOME%\webapps\axis2\WEB-INF\lib下面,

二方面是数据库的配置文件jdbc.properties 需要拷贝到%TOMCAT-HOME%/webapps\axis2\WEB-INF\classes下面

使用Axis2编写webservice客户端,服务端的更多相关文章

  1. Axis2开发WebService客户端 的3种方式

    Axis2开发WebService客户端 的3种方式 在dos命令下   wsdl2java        -uri    wsdl的地址(网络上或者本地)   -p  com.whir.ezoffi ...

  2. [并发并行]_[线程模型]_[Pthread线程使用模型之三 客户端/服务端模型(Client/Server]

    Pthread线程使用模型之三 客户端/服务端模型(Client/Server) 场景 1.在客户端/服务端模型时,客户端向服务端请求一些数据集的操作. 服务端执行执行操作独立的(多进程或跨网络)– ...

  3. win10操作系统下oracle11g客户端/服务端的下载安装配置卸载总结

    win10操作系统下oracle11g客户端/服务端的下载安装配置卸载总结 一:前提 注意:现在有两种安装的方式 1. oracle11g服务端(64位)+oracle客户端(32位)+plsql(3 ...

  4. 使用Thrift RPC编写程序(服务端和客户端)

    1. Thrift类介绍 Thrift代码包(位于thrift-0.6.1/lib/cpp/src)有以下几个目录: concurrency:并发和时钟管理方面的库processor:Processo ...

  5. WebService从服务端到客户端的用例

    1.首先编写Wsdl(基于契约优先的方式),要注意的是命名空间(若是使用include或import)最好使用一致的,代码如下: <?xml version="1.0" en ...

  6. spring mvc + mybaties + mysql 完美整合cxf 实现webservice接口 (服务端、客户端)

    spring-3.1.2.cxf-3.1.3.mybaties.mysql 整合实现webservice需要的完整jar文件 地址:http://download.csdn.net/detail/xu ...

  7. 采用RPC方式和document方式 开发Axis2的WebService客户端

    import javax.xml.namespace.QName; import org.apache.axiom.om.OMAbstractFactory; import org.apache.ax ...

  8. webservice调用服务端数据时给soapenv:Envelope 添加自定义的命名空间

    最近做第三方接口,服务端需要 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/&qu ...

  9. WebService学习之旅(六)使用Apache Axis2实现WebService客户端调用

    上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户 ...

随机推荐

  1. JavaScript 函数参数传递到底是值传递还是引用传递

    tips:这篇文章是听了四脚猫的js课程后查的,深入的理解可以参看两篇博客: JavaScript数据类型--值类型和引用类型 JavaScript数据操作--原始值和引用值的操作本质 在传统的观念里 ...

  2. js字节转换、字节转换GB等

    //文件大小换算 function bytesToSize(bytes) { if (bytes === 0) return '0 B'; var k = 1024; sizes = ['B','KB ...

  3. android控件库(2)-仿Google Camera 的对焦效果

    一直很喜欢Google Camera的自动对焦效果,今日闲来无事,自己做了个: 废话不多说,代码才是王道: package com.example.test.view; import com.exam ...

  4. #ifdef的用法【转】

    #ifdef的用法     #ifdef的用法灵活使用#ifdef指示符,我们可以区隔一些与特定头文件.程序库和其他文件版本有关的代码.代码举例:新建define.cpp文件 #include &qu ...

  5. jquery客户端验证插件

    http://www.cnblogs.com/masing/articles/2157420.html http://www.oschina.net/p/jquery+formvalidator ht ...

  6. oracle vm virtualbox右ctrl切换显示模式

    转自: http://blog.csdn.net/lyc_daniel/article/details/44195515 virtualbox里面有个HOME键,注意这个HOME键不一定是键盘上的HO ...

  7. jQuery 学习之路(2):选择器与过滤器

    一.基本选择器 标签选择器: $('button') ID选择器: $('#id1') 类选择器: $('.class1') 多重选择器: $('#id1,.class1,button') 全体选择器 ...

  8. 你真的懂了R中的stem函数是如何绘制茎叶图的么?

    本文原创,转载请注明出处,本人Q1273314690(交流学习)   哭晕 你真的学会了stem()函数了吗? stem()函数的使用方法是: stem(x, scale=1,width=80, at ...

  9. 东京区域2012-2014主要消费产品价格参考表——Excel

    声明: 1.本表格数据取自<日本の統計 2016>: 2.本表所有价格单位为人民币,其日元均以当年平均汇率兑换为此人民币价格: 3.其人民币—日元年均汇率数据取自IMF Data Exch ...

  10. hadoop安装实战(mac实操)

    集群环境配置参考(http://blog.csdn.net/zcf1002797280/article/details/49500027) 参考:http://www.cnblogs.com/liul ...