首页 Java通过axis调用WebService

Java通过axis调用WebService

举报
开通vip

Java通过axis调用WebServiceJava通过axis调用WebService linux教程 上午头给了我一个任务,让我对接别的公司的webservice接口,各种百度,看的头晕脑花的,终于通了,记录一下吧。 jar包下载: ------------------------------------------分割线------------------------------------------ 具体下载目录在 /2015年资料/6月/6日/Java通过axis调用WebService/ ----------------------...

Java通过axis调用WebService
Java通过axis调用WebService linux教程 上午头给了我一个任务,让我对接别的公司的webservice接口,各种百度,看的头晕脑花的,终于通了, 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 一下吧。 jar包下载: ------------------------------------------分割线------------------------------------------ 具体下载目录在 /2015年资料/6月/6日/Java通过axis调用WebService/ ------------------------------------------分割线------------------------------------------ 包含:axis.jar,commons-discovery.jar,commons-logging-1.0.4.jar,jaxrpc.jar,wsdl4j.jar,mail.jar。 为什么会有mail.jar呢,俺也不太清楚,如果没有的话会报警告: 2014-10-22 15:07:45 org.apache.axis.utils.JavaUtils isAttachmentSupported 警告: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled. 网上有很多说这个问题的,但是还是没闹明白,还是加上 mail.jar稳妥点。 对接webservice一定要有接口地址了 例如: :8080/xxxxx/services/XXXXWebservice?wsdl 直接上我写的测试代码吧(包名、地址、类名我都换成xxx 了) soapaction是通过访问接口地址获得的,targetNamespace package xx.xxxx.xxx; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.encoding.XMLType; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class XXXWebService { public static void main(String[] args) { String soapaction = ""; //你的webservice地址 String endpoint = ":8080/xxxxx/services/XXXXWebservice"; Service service = new Service(); try { Call call = (Call) service.createCall(); call.setTimeout(new Integer(60000)); call.setTargetEndpointAddress(new URL(endpoint)); //你需要远程调用的方法 call.setOperationName(new QName(soapaction,"getXXXX")); //方法参数,如果没有参数请无视 call.addParameter(new QName(soapaction,"xxxxxx"), XMLType.XSD_STRING, ParameterMode.IN); call.addParameter(new QName(soapaction,"xxxx"), XMLType.XSD_STRING, ParameterMode.IN); //设置返回类型,对方接口返回的json,我就用 string接收了,自定义类型另贴一个代码 call.setReturnType(XMLType.XSD_STRING); //调用方法并传递参数,没有参数的话: call.invoke(new Object[] { null}); String result = (String) call.invoke(new Object[]{"xxxxx","xx,xx"}); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } } 下面是处理自定义类型 处理自定义返回类型我用的是 dom4j jar包: call.setReturnType(XMLType.XSD_SCHEMA); //没有参数就写个null Schema data = (Schema) call.invoke(new Object[] { null}); MessageElement[] datas = data.get_any(); for (int i = 0; i < datas.length; i++) { SAXReader reader = new org.dom4j.io.SAXReader(); Document doc = reader.read(new ByteArrayInputStream(datas[i].toString().getBytes())); /* 例:这是你调用方法返回的文档 * * * * 巴拉巴拉 * * * */ //这里的ns1:xxx 对应上面的ax21:objects Node node = doc.selectSingleNode("ns1:xxx"); if (node != null) { //这里就是获取object下的属性了 Node attribute= node.selectSingleNode("ns1:attribute"); System.out.println(attribute); } } 以上就是通过axis调用webservice的全部内容了,现在只是 会点皮毛,工作之余还是要多加学习:) linux教程
本文档为【Java通过axis调用WebService】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:0
分类:互联网
上传时间:2018-04-28
浏览量:13