java通过ksoap2实现访问C#写的WebService(基于soap协议)接口

java通过ksoap2实现访问C#写的WebService(基于soap协议)接口

背景

在一个大型平台项目中,经常会有多个团队协作开发,而不同的团队所使用的开发语言和开发技术也不尽相同,本文就介绍一下如何在java中访问C#写的WebService(基于soap协议)接口,很长用的场景就是Android手持系统访问WebService接口。

说明:本代码依赖的jar包如下:
ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar

代码实现

package com.soap.client.test;

import org.junit.Test;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

public class SoapClientTester {

	private final String MYURL = "http://172.16.12.23:9003/CuringWebService/CuringAppService";
	private final String NAMESPACE = "http://curing.mesnac.com";
	private final String METHODNAME = "getClassNames";
	
	public SoapClientTester() {
		
	}
	
	@Test
	public void TestCall()
	{
	
		try {
            SoapObject request = new SoapObject(NAMESPACE,METHODNAME);

//            request.addProperty("name", accountet.getText().toString());		//为接口方法传参
//            request.addProperty("arg0", "{\"function\":\"getInStoreBill\",\"request\":{\"billNo\":\"20190310011001\",\"date\":\"2019-03-10\",\"shift\":\"123\"}}");

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.bodyOut = request;
            envelope.dotNet = true;
            envelope.setOutputSoapObject(request);
            HttpTransportSE ht = new HttpTransportSE(MYURL);
            ht.call(NAMESPACE+METHODNAME, envelope);				//接口调用
            //返回对象应为Object 否则会出现转换异常错误
        	Object soapObject = (Object) envelope.getResponse();
        	
        	System.out.println(soapObject.toString());
            //后面的代码就是对soapObject.toString()的内容进行解析,这就是接口方法的返回值

        }catch (Exception e) {
            e.printStackTrace();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值