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. WAMPSERVER 64位 win7下 php 5.5.12通过 PECL 安装 zip扩展

    通过phpinfo()查看 php5.5.12默认集成了zip模块 不过版本是1.11.0 http://pecl.php.net/package/zip 通过PECL 查看 最新版本是1.12.4 ...

  2. Python-面向对象编程(一)

    初识面向对象: Python中一切皆对象,我自己,我的电脑,电脑桌,都称之为一个对象.对象是类的一个实体. 我们可以通过行为和特征(属性)来描述一个对象,比如小狗,它有四条腿,一个尾巴,两个虎牙,这就 ...

  3. 固定导航(Sticky nav)

    方法1: <div class="footer"></div> .footer{ position:fixed; bottom:0; left:0; wid ...

  4. 两种html幻灯片效果

    650) this.width=650;" src="http://img1.51cto.com/attachment/201307/165757318.jpg" tit ...

  5. checkstyle配置文件说明

    属性说明 basedir代码所在的位置 AbstractClassNameformat: 定义抽象类的命名规则 PackageNameformat: 定义包名的命名规则 TypeNameformat: ...

  6. 在Linux下如何使用GCC编译程序、简单生成 静态库及动态库

      最近在编写的一个Apache  kafka 的C/C++客户端,,在看他写的 example中,他的编译是用librdkafka++.a和librdkafka.a    静态库编译的,,,而我们这 ...

  7. java调用存储过程

    在做java调用sqlserver存储过程时遇到了各种各样的问题,不过在不懈的努力之下这些问题还是得以解决了.今天总结一下遇到的问题以及解决的方法. 首先调用存储过程的方法大家都很清楚: String ...

  8. centos 安装php7.0.2

    PHP7.0正式版已经在2015年11月份左右发布,目前是PHP7.0.2版本,本人最早是从2015年8月php7的第一个测试版跟起,现在正式版发布. linux版本:64位CentOS 6.6 Ng ...

  9. PHP: 手把手编写自己的 MVC 框架实例教程

    1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  10. javascript位运算

    javascript作为一门高级语言,他尽量让开发人员减少思考底层的硬件工作原理,而将精力集中在逻辑开发的层面.不过,不论这门语言多么高级,我们必须知道数据依然以bits的形式存储,有时候我们会直接与 ...