接口方给了一个链接:Http://XXXX:8081/Webservice/external_s.asmx
访问链接:
上述给出调用方法,和对应传入的参数。
java代码:
package other.play;
import java.net.HttpURLConnection;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import java.net.URL;
import javax.xml.namespace.QName;
/***
*
- 调用接口
- @author Administrator
*/
public class TJSystemInterface {
private static String tjzxurl = "http://XXXXXX:8081/WebServices/external_s.asmx?wsdl";
private static String tjzxnamespace = "http://XXXXXXXXXXXXX/";
public static void main(String[] args) {
String method = "DataByXML";
" <soap:Header/>"+
" <soap:Body>"+
" <web:DataByXML>"+
" <!--Optional:-->"+
" <web:action>?</web:action>"+
" <!--Optional:-->"+
" <web:parmString1>?</web:parmString1>"+
" <!--Optional:-->"
" <web:parmString2>?</web:parmString2>"+
" <!--Optional:-->"+
" <web:parmString3>?</web:parmString3>"+
" </web:DataByXML>"+
" </soap:Body>"+
"</soap:Envelope>";
String actions ="getDataApplyInfo";
String parmString1 =
"<Request>" +
"<asg></asg>" +
"</Request>";
String parmString2 = "";
String parmString3 = "";
System.out.println(xml);
Object Responsexml = CallSoapService(tjzxurl, tjzxnamespace,
method, new Object[] { xml, actions, parmString1, parmString2, parmString3 },
new Object[] { "xml" , "action", "parmString1", "parmString2", "parmString3"});
String Responsemap = Responsexml.toString();
System.out.println("输出信息:");
System.out.println(Responsemap);
}
/**
* 连接接口程序
*
*/
public static Object CallSoapService(String serviceUrl, String nameSpace,
String methodName, Object[] paremateArrs, Object[] qNameArrs) {
String endPoint = serviceUrl;
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.setUseSOAPAction(true);
call.setSOAPActionURI(actionUrl);
for (int i = 0, len = qNameArrs.length; i < len; i++) {
call.addParameter(
new QName(nameSpace, qNameArrs[i].toString()),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
//System.out.println(paremateArrs[i].toString());
}
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setTargetEndpointAddress(new URL(endPoint));
returnObj = call.invoke(paremateArrs);
} catch (Exception ie) {
ie.printStackTrace();
}
// System.out.println(returnObj+"");
return returnObj;
}
}