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. 捕获EF提交异常

    try { } catch (DbEntityValidationException dbex) { string errMsg = string.Empty; foreach (var eve in ...

  2. 使用hessian开发WebService,轻量级,更简单、快捷

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协 ...

  3. C#程序

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  4. STL删除元素

    1.从vector中删除多个元素: #include <iostream> #include <vector> int main() { std::vector<int& ...

  5. 在windows7 上安装 Sublime Text 3 及其插件

    1.下载地址:http://www.sublimetext.com/3 请根据你的平台,选择适当的安装版本 安装完毕后,设定TAB键为4个空格( Preferences——>Setings-Us ...

  6. webapp中的meta

    <!--开发后删除--> <meta http-equiv="Pragma" name="no-store" /><!--必须联网 ...

  7. Linux(Red Hat)-中安装Vmware Tools

    0. 会弹出 ***1.在弹出的文件夹中找到"VMwwareTools9.6.2-1688356.tar.gz",右击"解压缩到"...我解压缩到了" ...

  8. Google翻译请求(难点是tk参数)

    业务需求需要将一些文字翻译一下··· 但是直接调用接口收费啊啊啊啊(貌似是前几百万字免费,然后就开始收费了)···· 就想研究一下Google翻译接口... 想模拟Google向服务器发送一个Http ...

  9. C语言:输入输出

    C语言无I/O语句,i/o操作由函数实现 #include<stdio.h> 字符输出函数putchar: 格式:putchar(c) 参数:c为字符常量,变量或者表达式 功能:把字符c输 ...

  10. 论在Windows下远程连接Ubuntu

       Ubuntu下1:下载xrdp   sudo apt-get install xrdp 2: urs/share/applications 下找到  远程桌面 设置成这样 Windows下 1; ...