第一步:【建议1.6版本左右】我用的1.79版本的生成
下载 Axis下载地址 http://axis.apache.org/axis2/java/core/download.html
嫌麻烦:第二种 链接:https://pan.baidu.com/s/1S-3QmK85LjVUFd7iRxs0wg
提取码:el5l
配置环境变量: AXIS2_HOME D:\axis2-1.7.9
path %AXIS2_HOME%\bin
下载后解压:视图
第二步:
如图二所示:
第三步:(重要)
输入: WSDL2Java -uri zco_out_to_sap.wsdl -p com.crm.sap.webservice.feedback -o feedback 命令
解释:zco_out_to_sap.wsdl 文件名 com.crm.sap.webservice.feedback 生成的bin目录下的文件夹
如图:
然后再看:文件夹
自动生成2个文件-导入项目中
一下提供几个类:
package test;
public class SendSapHead {
private String SYSID = "CRM";//sap那边定义的标识表示系统
private String IFID;
private String IFNO;
private String SCENEID;
private String SUBSCENEID;
private String SUSER;
private String SDATE;
private String STIME;
private String SDATATYPE;
private String KEYDATA;
public SendSapHead(String IFID, String IFNO, String SCENEID, String SUBSCENEID, String SUSER, String SDATE, String STIME, String SDATATYPE, String KEYDATA) {
this.IFID = IFID;
this.IFNO = IFNO;
this.SCENEID = SCENEID;
this.SUBSCENEID = SUBSCENEID;
this.SUSER = SUSER;
this.SDATE = SDATE;
this.STIME = STIME;
this.SDATATYPE = SDATATYPE;
this.KEYDATA = KEYDATA;
}
public String getSYSID() {
return this.SYSID;
}
public void setSYSID(String sYSID) {
this.SYSID = sYSID;
}
public String getIFID() {
return this.IFID;
}
public void setIFID(String iFID) {
this.IFID = iFID;
}
public String getIFNO() {
return this.IFNO;
}
public void setIFNO(String iFNO) {
this.IFNO = iFNO;
}
public String getSCENEID() {
return this.SCENEID;
}
public void setSCENEID(String sCENEID) {
this.SCENEID = sCENEID;
}
public String getSUBSCENEID() {
return this.SUBSCENEID;
}
public void setSUBSCENEID(String sUBSCENEID) {
this.SUBSCENEID = sUBSCENEID;
}
public String getSUSER() {
return this.SUSER;
}
public void setSUSER(String sUSER) {
this.SUSER = sUSER;
}
public String getSDATE() {
return this.SDATE;
}
public void setSDATE(String sDATE) {
this.SDATE = sDATE;
}
public String getSTIME() {
return this.STIME;
}
public void setSTIME(String sTIME) {
this.STIME = sTIME;
}
public String getSDATATYPE() {
return this.SDATATYPE;
}
public void setSDATATYPE(String sDATATYPE) {
this.SDATATYPE = sDATATYPE;
}
public String getKEYDATA() {
return this.KEYDATA;
}
public void setKEYDATA(String kEYDATA) {
this.KEYDATA = kEYDATA;
}
}
第二个调用方式:
package test;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class TestToSap {
public static void main(String[] args) {
try {
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
String dateStr = df.format(new Date());
ZCO_OUT_TO_SAPStub service = new ZCO_OUT_TO_SAPStub();
HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
auth.setUsername("sap账号");
auth.setPassword("sap密码");
service._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, auth);
ZCO_OUT_TO_SAPStub.ZdataToSapSync async = new ZCO_OUT_TO_SAPStub.ZdataToSapSync();
ZCO_OUT_TO_SAPStub.String strJson = new ZCO_OUT_TO_SAPStub.String();
JSONObject head=new JSONObject();
String sap_navl = "D1"+new Date().getTime()+""+ new Random().nextInt(5);
SendSapHead sheadr = new SendSapHead("OUT_TO_SAP_CRM_MATNR",//sap约定标识
sap_navl,
"",
"",
"crmrequest",//标识(所以标识约定都是sap那边接口提供的)
DateUtils.getDataString(DateUtils.yyyyMMdd),
DateUtils.getDate("HHmmss"),
"json",dateStr);
head.put("CONTROL", JSONObject.parse(JsonUtil.bean2json(sheadr)));
JSONObject object = new JSONObject();
JSONArray array = new JSONArray();
object.put("VKORG", "1000");//传入参数
object.put("VTWEG", "00");
object.put("STYPE","ZFD");
array.add(object);
head.put("DATA", array);
strJson.setString(head != null ? head.toJSONString():"");
async.setInJson(strJson);
ZCO_OUT_TO_SAPStub.ZdataToSapSyncResponse zdataToSapSyncResponse = service.zdataToSapSync(async);
System.out.print(zdataToSapSyncResponse.getOutJson().toString());
}catch (Exception ex){
ex.printStackTrace();
}
}
}
最后附上所需要的 pom文件
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-codegen</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
最后声明:
请注意版本axis2版本 高版本可能有些调用方法找不到,建议尝试或者较低版本