Java通过soap1.1请求webservice接口

  1. 首先获取到soap接口的wsdl地址,通过soapUI工具打开。
    Java通过soap1.1请求webservice接口_第1张图片
    前提需要在配置的插件工具配置axis地址,axis-1_4可在我的资源里下载。
    Java通过soap1.1请求webservice接口_第2张图片
    选择导出包的位置,生成代码。
    Java通过soap1.1请求webservice接口_第3张图片
  2. 将代码复制到java项目中。
    Java通过soap1.1请求webservice接口_第4张图片
  3. 多环境配置可在Locator中导入配置文件,将HTTP_Port_address和HTTPS_Port_address的ip地址替换即可。
    Java通过soap1.1请求webservice接口_第5张图片
    在接口请求中需要用户名密码验证,可封装配置在同一个类中。
public class ERPAPI {
    public static ErpWSConfig erpWSConfig;
    static {
        //从 Spring 容器中 获取 resTemperatureStatusService 对象
        erpWSConfig = SpringContextUtil.getBean(ErpWSConfig.class);
    }
    public static SI_WrappingMachine_OUT_Syn erpWebServiceTest() {
        try {
            SI_WrappingMachine_OUT_SynServiceLocator locator = new SI_WrappingMachine_OUT_SynServiceLocator();
            SI_WrappingMachine_OUT_Syn service = locator.getHTTP_Port();
            apply(service);
            return service;
        } catch (ServiceException e) {
            throw new RuntimeException(e);
        }
    }
    public static void apply(Object stubImpl) {
        Stub stub = (Stub) stubImpl;
        String username = erpWSConfig.getUsername();
        String password = erpWSConfig.getPassword();
        if (StringUtils.notBlank(username) && StringUtils.notBlank(password)) {
            stub.setUsername(username);
            stub.setPassword(password);
        } else {
            stub.setUsername("******");
            stub.setPassword("******");
        }
        //修改超时时间:5分钟
        stub.setTimeout(300000);
    }
}
  1. 最后可在代码中请求请求soap接口。
    public R erpwsTest(@RequestParam("VBELN") String VBELN) throws Exception {
        DT_WrappingMachine_Req dt_wrappingMachine_req = new DT_WrappingMachine_Req();
        dt_wrappingMachine_req.setVBELN(VBELN);
        DT_WrappingMachine_Resp dt_wrappingMachine_resp = ERPAPI.erpWebServiceTest().SI_WrappingMachine_OUT_Syn(dt_wrappingMachine_req);
        return R.ok(dt_wrappingMachine_resp);
    }
    

Java通过soap1.1请求webservice接口_第6张图片

你可能感兴趣的:(java,java)