Как разместить сложные аргументы для WSDL с помощью SUDS в python - PullRequest
0 голосов
/ 13 июля 2020

это wsdl

Service ( LBEBusinessWebService ) tns="http://ws.livebos.apex.com/"
   Prefixes (1)
      ns0 = "http://ws.livebos.apex.com/"
   Ports (1):
      (LBEBusinessServiceImplPort)
         Methods (23):
      execBizProcess(xs:string sessionId, xs:string bizProcessName, xs:string id, lbParameter[] params, lbParameter[] variables, )

   Types (70):
      execBizProcess

Для execBizProcess есть демонстрация от JAVA

public void testBizProcess() {
        LBEBusinessService client = getServiePort();
        List<LbParameter> params = new ArrayList<LbParameter>();//入参数组

        LbParameter param = new LbParameter();//入参
        param.setName("USERNAME");//入参名称
        param.setValue("test01");//入参值
        params.add(param);

        param = new LbParameter();
        param.setName("PASSWORD");
        param.setValue("y3Auk2xdAKno/XKq4f76eO9AudmTp9+8ZxLS4HNdy1s=");
        params.add(param);

        param = new LbParameter();
        param.setName("DLLX");
        param.setValue("1");
        params.add(param);

        param = new LbParameter();
        param.setName("ID");
        param.setValue("127.0.0.1");
        params.add(param);

        String objName = "T_GIFAX_USER_YHDL";//要调用的接口对象

        BizProcessResult result = client.execBizProcess(getSessionId(), objName, "", params, null);
        System.out.println("result message: " + result.getMessage());
        System.out.println("result code: " + result.getResult());
        if (result.getOutputVariables() != null) {//接口返回参数
            for (Iterator<LbParameter> it = result.getOutputVariables().iterator(); it.hasNext();) {
                LbParameter var = (LbParameter) it.next();
                System.out.println("out varaible:  " + var.getName() + "=" + var.getValue());
            }
        }

Как использовать пену в Python для создания ArrayList для lbParameter [ ] params.

Я пробовал dict, tuple for params, wsdl, все ответили на ввод ошибки.

...