SpringBoot调第三方WebService接口

引入相关依赖:


 
      org.springframework.boot
      spring-boot-starter-web-services
  

  
  
      org.apache.cxf
      cxf-spring-boot-starter-jaxws
      3.2.1
  
  
      org.apache.cxf
      cxf-rt-transports-http
      3.2.1
  
浏览webService提供的方法,确定入参顺序
直接在浏览器里面访问url,如下
 
 



//获取webservice接口地址
String endpoint = "http://cmes.huawei.com/hw_manufacture/MidLayer.asmx";
//获取域名地址,server定义的
String soapaction = "http://Auto.huawei.com.cn/";
//调用的方法名
String method = "Get_Info_Frmbarcode";
// 创建一个服务(service)调用(call)
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
// 创建一个服务(service)调用(call)
org.apache.axis.client.Call call = (org.apache.axis.client.Call) service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(endpoint);
call.setOperationName(new QName(soapaction, method));
//设置参数及类型,与接口参数对应
call.addParameter(new QName(soapaction, "sTaskType"),
        org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(soapaction, "sImport"),
        org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setUseSOAPAction(true);
call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); //返回参数的类型
call.setSOAPActionURI(soapaction + method); //这个也要注意 就是要加上要调用的方法getStoreList,不然也会报错

//invoke调用方法并传递参数,获取XML
String xmlStr = (String) call.invoke(new Object[]{"BarcodeRelationSend", getEnvelope(barcodeRelationVo)});

private String getEnvelope(BarcodeRelationVo item) {
    StringBuilder sb = new StringBuilder();
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append(""+item.getPO()+"");
    sb.append(""+item.getVENDORID()+"");
    sb.append(""+item.getORGID()+"");
    sb.append(""+item.getITEMCODE()+"");
    sb.append(""+item.getBARCODE()+"");
    sb.append(""+item.getSONBARCODE()+"");
    sb.append(""+item.getSONITEMCODE()+"");
    sb.append(""+item.getQUANTITY()+"");
    sb.append("");
    sb.append("");
    sb.append(""+item.getUPLOADFLAG()+"");
    sb.append("");
    sb.append(""+item.getCREATEDBY()+"");
    sb.append(""+item.getCREATEDDATE()+"");
    sb.append("");
    sb.append("");
    sb.append(""+item.getSEGMENT1()+"");
    sb.append(""+item.getSEGMENT2()+"");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append(""+item.getEMSTRANSID()+"");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append(""+item.getSEGMENT10()+"");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");
    sb.append("");

    return sb.toString();
}

你可能感兴趣的:(java,apache,服务器)