1. 程式人生 > >soap方式的遠端呼叫示例程式碼

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(); } } }