soap方式的远程调用示例代码

需要jar包根据import的内容查看.
axis是升级版

package com.soap;

import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
/**
 * soap方式远程访问
 * @author znph_张春玲
 *
 */
public class SoapAxisTest{

    public static void main(String[] args) {
        // 命名空间
        String nameSpace = "http://zjgwyjx.org/";
        // 访问方法
        String methodName = "LoadData";
        // 服务地址
        String url = "http://218.90.170.6:13567/Service1.asmx";
        String actionUrl = nameSpace + methodName;
        Object returnObj = null;
        try {
            Service service = new Service();
            Call call = null;
            call = (Call) service.createCall();

            QName qName = new QName(nameSpace, methodName);
            call.setOperationName(qName);
            call.setSOAPActionURI(actionUrl);

            // 接口方法的参数名, 参数类型,参数模式 IN(输入), OUT(输出) or INOUT(输入输出)
            call.addParameter(new QName(nameSpace, "DID"), XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter(new QName(nameSpace, "SDate"), XMLType.XSD_STRING, ParameterMode.IN);
            call.addParameter(new QName(nameSpace, "EDate"), XMLType.XSD_STRING, ParameterMode.IN);
            // 对应参数
            Object[] paramValues = new Object[] { "10301", "2017-08-01 00:00:00", "2017-08-01 23:59:59" };
            call.setTimeout(6000);
            call.setReturnType(XMLType.XSD_STRING);
            call.setTargetEndpointAddress(new URL(url));

            returnObj = call.invoke(paramValues);
            System.out.println(returnObj);
        } catch (Exception ie) {
            ie.printStackTrace(); 
        }   

    }
}

你可能感兴趣的:(其他,Java代码,soap,axis)