`

使用axis调用WebService示例

 
阅读更多

1、使用axis调用WebService示例
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.lang.StringUtils;


Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(targetEnvValue.getServerPath());
if (StringUtils.isEmpty(targetEnvValue.getSpaceName())) {
    call.setOperationName(targetEnvValue.getOperationName());
} else {
//如果有targetNamespace,则需要这么调用
    call.setOperationName(new javax.xml.namespace.QName(targetEnvValue.getSpaceName(), targetEnvValue
                    .getOperationName()));
}
call.addParameter("arg0", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter("arg1", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter("arg2", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter("arg3", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter("arg4", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter("arg5", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
String result = (String) call.invoke(new Object[] { String.valueOf(typeId), String.valueOf(objectId), version,xmlStr, exitFlag, SessionManager.getUser().getTenantId() });


2、使用axis调用webserivce示例(返回复杂对象),需要把返回对象序列化,并加入如下代码

call.setReturnType(new javax.xml.namespace.QName("http://ws.apache.org/axis2/xsd"));//返回类型的nameSpace
call.setReturnClass(WsResultInfo.class); //返回的class对象
javax.xml.namespace.QName qn = new javax.xml.namespace.QName("http://ws.apache.org/axis2/xsd","WsResultInfo"); //返回的namespace,在Wsdl上有描述                     
call.registerTypeMapping(WsResultInfo.class, qn, new BeanSerializerFactory(WsResultInfo.class, qn),
new BeanDeserializerFactory(WsResultInfo.class, qn));//这里要注册一下
//否则会抛出异常:
//Deserializing parameter 'return':  could not find deserializer for type




分享到:
评论

相关推荐

    axis2例子 webservice axis2 示例

    axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例

    基于axis的webservice示例

    基于axis的webservice示例 编写和发布WebService 用Java实现调用WebService的客户端程序

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包 包括eclipse tomcat axis2 java直接到官网下载jre和jdk1.8版本即可

    axis2调用WebService详细说明

    包括axis2程序包官方下载地址(有点大,没法上传)安装及配置设置,并又客户端代码示例(本人项目中的代码截取)

    C++通过msxml调用webservice示例分享

    主要介绍了C++通过msxml调用webservice示例分享,需要的朋友可以参考下

    webservice调用示例

    常用的webserver的调用示例,主要是axis和axis2的一些示例和调用方式

    myeclipse8.5+axis2插件 生成webservice服务并调用-----代码

    ----------示例包括: 普通数据类型 ...使用axis2通过自编写的server端生成wsdl,通过wsdl生成服务(aar,将aar文件放入tomcat/webapps/axis2/WEB-INF/services下),再通过wsdl生成客户端,通过客户端调用服务

    webService(基于cxf)的完整例子

    现在主流的webService框架,一个是axis2,一个是cxf,本资源是基于cxf框架的简单例子

    使用axis2发布WebService简单示例

    NULL 博文链接:https://songjianyong.iteye.com/blog/1920078

    Axis2发布WebSerice

    使用Axis2生成.arr包发布WebService+Axis2生成客户端代码调用WebService-示例

    axis2发布示例

    axis2发布webservice,随着普通web工程发布;本示例简单明了,代码注释中附有发布步骤,导入工程即可运行,无须下载任何jar包。 工程中也有调用发布后接口的代码执行main方法即可

    java-webservice-axis-例子

    一个java编写基于Axis1.4的webservice接口,包括服务端接口和调用端接口。

    Android开发调用WebService的方法示例

    在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到...

    Xfire 开发webservice与客户端调用教程与实例

    xfire开发webservice与调用 用起来比axis简单,容易上手。没有axis那么复杂。性能也比axis好。附件里面包含教程文档及实例代码

    Webservice axis 整理好的示例文档

    即时发布JWS 定制发布WSDD 传递复杂对象List,Map,数组,自定义对象 RMI方式远程调用 RMI方式远程调用 JAF传输文件

    编程入门_Eclipse教程

    3.1. Axis2的简单WebService示例 10 3.1.1. 0配置POJO的Webservice 10 3.1.2. 用axis2的辅助工具发布、调用WebService 12 3.1.3. WebService会话Session的管理 24 3.1.4. 用Spring创建的JavaBean发布成WebService 29...

    Axis2实例教程

    Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1...在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。

    Java编程Webservice指定超时时间代码详解

    主要介绍了Java编程Webservice指定超时时间代码详解,简单介绍了webservice,然后分享了通过使用JDK对Webservice的支持进行Webservice调用实现指定超时时间完整示例,具有一定借鉴价值,需要的朋友可以参考下。

    webservice_clients:如何使用cxf和axis2生成Web服务客户端的示例

    如何使用CXF(和wsimport)生成Web服务客户端的示例。 git clone https://github.com/Transmode/webservice_clients.git cd webservices_client 运行托管元素收集器 在命令行上运行: cd mer/collector_mer ../.....

    JAVA的WebService支持CXF与SAAJ第三版

    这个教程将了如何使用CXF开发WebService,包括JAX-WS、JAX-RS规范、数字证书、MTOM附件传输、异步调用、异常处理、使用Axis+Spring解决RPC/Encode的问题向旧规范JAX-RPC的兼容,第三版版教程在最一开始分别介绍了...

Global site tag (gtag.js) - Google Analytics