根据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. FIN vs RST in TCP connections different

    question: The way I understand this, there are 2 ways to close TCP connection: send FIN flag send RS ...

  2. django练习题

    1.Web框架的本质是什么?为什么要有Web框架? 所有的Web应用,本质上其实就是一个socket服务端,用户端程序其实就是一个socket客户端.对于真实开发中的python web程序来说,一般 ...

  3. main.js_vue

    下载依赖包:cnpm install 或者cnpm i 启动项目:npm run dev vue如何加载main.js 如果你是用vue.js官网提供的脚手架工具并沿用默认配置的话,你执行npm ru ...

  4. Java - 25 Java 包(package)

    Java 包(package) 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包 ...

  5. Java 5- Java 修饰符

    Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class ...

  6. 安装MySQL半同步复制

    一.简介 从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认 ...

  7. MySQL高可用架构之基于MHA的搭建

    一.MySQL MHA架构介绍: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Fa ...

  8. SQL Server 查询性能优化——创建索引原则(一)

    索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...

  9. JQuery字符串的操作

    一.String对象属性 1.length属性: length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些 ...

  10. SQLServer树查询

    感觉这个CTE递归查询蛮好用的,先举个例子: use City; go create table Tree ( ID int identity(1,1) primary key not null, N ...