根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用
 
1、到www.apache.org上去下载axis-bin-1_4.zip,如要关联源代码就把axis-src-1_4.zip也下载下来。
2、建一个java项目,导入axis-bin-1_4.zip下的lib文件下的所有jar包
3、右键项目/Run As/Run Configurations...
4、然后在Main标签下选择对应的Project以及Main class: org.apache.axis.wsdl.WSDL2Java
5、然后在Arguments标签下的Program arguments:下输入-o Client -d Session -S trueD:\project\FIIS_CRJ_AXIS\dest\test.wsdl
   其中D:\project\FIIS_CRJ_AXIS\dest\test.wsdl也可以是具体的wsdl路径http://192.168.1.10:7001/test/test?WSDL
6、最后点Run运行————这时如果报缺少jar包,可以找spring的依赖包,里面有很多,这里还要加入com.springsource.javax.activation-1.1.0.jar和com.springsource.javax.mail-1.4.0.jar。
7、执行上面的操作后会在我们的项目下生成一个Client文件,文件下的内容就是调用webservice的客户端代码
 
使用:都会有一个本地类   Locator 以及 Soap,创建出这两个就可以调用对应的webservice方法了
例:
TraditionalSimplifiedWebServiceLocator locator = new TraditionalSimplifiedWebServiceLocator();
TraditionalSimplifiedWebServiceSoap stub = (TraditionalSimplifiedWebServiceSoap)locator.getTraditionalSimplifiedWebServiceSoap();
System.out.println(stub.toTraditionalChinese("张三"));
还要一种情况:调用的webservice前要登陆,这种情况怎么处理?
1、先登陆得到sessionId
2、把sessionId设置到header里,找到   Stub类下的createCall()方法
protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
        try {
            org.apache.axis.client.Call _call = super._createCall();
            
           ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //设置头信息
            SOAPHeaderElement hElement = new SOAPHeaderElement(new QName("sessionInfo"));
            SOAPElement sid = hElement.addChildElement("sessionId");
            sid.addTextNode(Remote_SessionInfo.getSessionId());
            _call.addHeader(hElement);
这样就可以调用webservice了。
3

 生成客户端后,直接放在自己的工程里面,直接就可以调用服务端了:如下代码

public class Test {

public static void main(String args[]){
        String url = "http://localhost:8080/myaxis1/services/***Service?wsdl";
        URL serviceUrl;
        try {
            serviceUrl = new URL(url);
            ***ServiceSoapBindingStub    binding = (***ServiceSoapBindingStub) new ***SServiceImplServiceLocator().get***Service(serviceUrl);
        
            UserBean user = new UserBean();
            user.setAreacode("9999");
            user.setCharging("");
            user.setPassword("123456");
            user.setTeam_id(-1);
            user.setUserid("ytest");
            user.setUsertype(1);
            
            OrderBean orderbean = new OrderBean();
            orderbean.setProductid("001");
            OrderBean[] order =new OrderBean[]{orderbean};
            
            
            ResultBean bean = binding.createUser(user, order, "20130408164312");
            
            System.out.println("返回码:" + bean.getReturnCode()+" 返回消息:"+bean.getReturnMessage());
            
        } catch (Exception e) {
            e.printStackTrace();
        }       
    }
}

Webservice之axis的更多相关文章

  1. Java调用WebService之Axis实现

    import org.apache.axis.client.Call; import org.apache.axis.client.Service; /** * @ClassName: TestAxi ...

  2. Webservice接口和Http接口

    WebService又是一种高级应用,与之前学习的Struts.Spring.Hibernate等框架不同.WebService是面向服务的架构(SOA),看起来像是比SSH框架要大.那么它到底是做什 ...

  3. CXF创建webservice客户端和服务端

    转 一.CXF的介绍 Apache CXF是一个开源的WebService框架,CXF大大简化了Webservice的创建,同时它继承了XFire的传统,一样可以和spring天然的进行无缝的集成.C ...

  4. Java调用.NET webservice方法的几种方式

    最近做项目,涉及到web-service调用,现学了一个星期,现简单的做一个小结.下面实现的是对传喜物流系统(http://vip.cxcod.com/PodApi/GetPodStr.asmx?ws ...

  5. Web服务cxf框架发布2

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/ ...

  6. RPC框架之RMI

     一:RPC 远程过程调用 RPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用某种服务. 一次RPC调用的过程大概有10步: 1.执 ...

  7. 【知识积累】服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService)

    一.前言 由于项目中一个小的模块需要获取客户端的IP地址以保证安全调用webservice接口,项目中客户端使用C#编写,服务器端使用Java编写,服务器端与客户端采用Axis开发的WebServic ...

  8. 使用axis调用WebService服务端

    由于项目中要调用其他公司的接口,研究了下axis调用webService这种方式,现将代码贴出,以备以后查阅: package com.xbq; import javax.xml.namespace. ...

  9. spring集成环境下的axis webservice的发布,调试

    在spring集成的环境下,无论你是ssh集成,还是ssi集成的情况下,发布webservice往往在调用的时候会出错. 特别是,如果你是这个方式: 将webservice打aar包,放到tomcat ...

随机推荐

  1. cocos源码分析--Sprite绘图原理

    精灵是2D游戏中最重要的元素,可以用来构成游戏中的元素,如人物,建筑等,用Sprite类表示,他将一张纹理的一部分或者全部矩形区域绘制到屏幕上.我们可以使用精灵表来减少OpenGL ES 绘制的次数, ...

  2. Masonry基本语法

    添加约束的方式: 1.通过使用NSLayoutConstraints添加约束到约束数组中,之前必须设置translatesAutoresizingMaskIntoConstraints = NO,即取 ...

  3. 数据库导入Excel

    package com.cfets.ts.s.user.rest; import java.io.File; import java.io.FileInputStream; import java.i ...

  4. MySQL函数大全及用法示例

    1.字符串函数ascii(str)   返回字符串str的第一个字符的ascii值(str是空串时返回0)  mysql> select ascii('2');   -> 50  mysq ...

  5. nodejs学习笔记<二> 使用node创建基础服务器

    创建服务器的 server.js 内容. var http = require("http"); // 引用http模块 http.createServer(function(re ...

  6. ios-复制字符串到剪贴板

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = self.label.text;

  7. elk之[logstash-input-file]插件使用详解

    https://www.cnblogs.com/xing901022/p/4805586.html http://www.cnblogs.com/xing901022/p/4802822.html   ...

  8. 16. js方法传多个参数的实例

    field : 'operate',width : fixWidth(1/6),title : '操作',align : 'center',formatter : function(id,rowDat ...

  9. 设置SVN服务器

    1 下载svn服务器,参考地址 http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html 下载地址: http://subv ...

  10. Docker 在 Linux 平台的安装 以及一些常见命令

    1,添加,清理 yum 源,查看应用列表 1.1,yum install -y epel-release 1.2,yum clean all 1.3,yum list  (可以不运行) 2,安装, 启 ...