idea 调用c#接口_Java调用C#WebService接口方式

本文档展示了如何使用Java的Apache Axis库来调用C#编写的WebService接口。通过创建Service对象,设置目标地址、操作名称、参数及SOAPAction,最后执行调用并获取响应。示例代码包含了一个具体的调用方法及其main方法进行测试。
摘要由CSDN通过智能技术生成

package com.topinfo.zjsqjzii.webservice.service.txzkteco;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import javax.xml.namespace.QName;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

@org.springframework.stereotype.Service

public class TxWebServices {

/**

*

*/

public boolean d(String userId) {

return true;

}

/*

*批量下载某单位所有指纹人脸数据到数据库

deptid : 单位ID

* */

public boolean a(String deptId) {

return true;

}

/*

* */

public boolean b(String userId) {

return true;

}

/*

*c

* */

public String c(String kqip) {

Map param = new HashMap();

String c = exec("c",param);

return c;

}

/*

*f

* */

public boolean f(String deptId) {

return true;

}

/*

*g

* */

public boolean g(String deptId) {

return true;

}

/*

*h

* */

public boolean h(String userId) {

return true;

}

private String url = "http://172.168.190.220:8080/TcWebServices.asmx?wsdl";//提供接口的地址

private String soapaction = "http://tempuri.org/"; //域名,这是在server定义的

public String exec(String method, Map param) {

Service service = new Service();

try {

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(url);

call.setOperationName(new QName(soapaction, method)); //设置要调用哪个方法

call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//(标准的类型)

call.setUseSOAPAction(true);

call.setSOAPActionURI(soapaction + method);

String[] params = {};

if (param != null && param.size() > 0) {

List list = new ArrayList<>();

for (String key : param.keySet()) {

call.addParameter(new QName(soapaction, key), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); //设置要传递的参数

list.add(param.get(key));

}

params = list.toArray(new String[list.size()]);

// call.addParameter(new QName(soapaction, "EndDate"), //设置要传递的参数

// org.apache.axis.encoding.XMLType.XSD_STRING,

// javax.xml.rpc.ParameterMode.IN);

// call.setReturnType(new QName(soapaction, "GetAdmOrgUnitByUpdateTime"), Vector.class); //要返回的数据类型(自定义类型)

}

String v = (String) call.invoke(params);//调用方法并传递参数

System.out.println("result is " + v);

return v;

} catch (Exception ex) {

ex.printStackTrace();

}

return "";

}

public static void main(String[] args) {

TxWebServices txWebServices = new TxWebServices();

Map param = new HashMap();

param.put("deptId","");

String exec = txWebServices.exec("a",param);

System.out.println(exec);

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值