下载 Axis下载地址 http://axis.apache.org/axis2/java/core/download.html
配置环境变量: 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个文件-导入项目中
调用方式:
packagetest;
importcom.alibaba.fastjson.JSONArray;
importcom.alibaba.fastjson.JSONObject;
importorg.apache.axis2.transport.http.HTTPConstants;
importorg.apache.axis2.transport.http.HttpTransportProperties;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Random;
publicclassTestToSap{
publicstaticvoidmain(String[] args){
try{
SimpleDateFormat df =newSimpleDateFormat("yyyyMMdd");
String dateStr = df.format(newDate());
ZCO_OUT_TO_SAPStub service =newZCO_OUT_TO_SAPStub();
HttpTransportProperties.Authenticator auth =newHttpTransportProperties.Authenticator();
auth.setUsername("sap账号");
auth.setPassword("sap密码");
service._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, auth);
ZCO_OUT_TO_SAPStub.ZdataToSapSync async =newZCO_OUT_TO_SAPStub.ZdataToSapSync();
ZCO_OUT_TO_SAPStub.String strJson =newZCO_OUT_TO_SAPStub.String();
JSONObject head=newJSONObject();
String sap_navl ="D1"+newDate().getTime()+""+newRandom().nextInt(5);
SendSapHead sheadr =newSendSapHead("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 =newJSONObject();
JSONArray array =newJSONArray();
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>
1.6.1
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-codegen</artifactId>
1.6.1
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
1.6.1
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
1.6.1
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
1.6.1
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
1.4
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
4.12
</dependency>