使用wsdl文件生成用axis2调用sap生成的webservice(带用户密码认证)

 第一步:【建议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版本 高版本可能有些调用方法找不到,建议尝试或者较低版本

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值