在接到对接接口的需求时,只收到一条url路径和一个方法名。
url路径:http://192.168.108.38:8090/sshuser/services/WSCertificate;
方法名:getVoucher( String FinterID);
下面一步步介绍利用axis对接接口的步骤:
第一步:浏览器页面访问 http://192.168.108.38:8090/sshuser/services/WSCertificate?wsdl
如果看到xml的内容说明接口可以正常访问
第二步:选择文件夹路径,docs命令执行 wsimport -keep http://192.168.108.38:8090/sshuser/services/WSCertificate?wsdl
生成Java接口文件。
第三步:将生成的Java接口文件连同包放在项目的对应的目录下,这时你就可以像调用本地代码一样调用接口类进行测试。
第四步:导入axis需要的jar包
第五步:调用方法测试接口是否成功
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import com.alibaba.fastjson.JSON;
public class MyWebservice {
//通过axis方式调用webservice接口
@Test
public void invokeRemote() {
// 指出service所在完整的URL
String endpoint = "http://192.168.108.38:8090/sshuser/services/WSCertificate";
String result ="no result";
Service service = new Service();
Call call;
Object[] object = new Object[1];
object[0] = "cc0220";
try{
call = (Call) service.createCall();
call.setTargerEndpointAddress(new URL(endpoint));
call.setOperationName(new QName("http://impl.app.zx","Getvoucher"));
call.addParameter("arg0",XMLType.XSD_STRING,ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
result = (String) call.invoke(object);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}