將ofbiz的Service導出爲webservice及其調用的實例

Service定義: java

<service name="test.add" engine="java" auth=" true" export=" true
      location="org.aries.erp.practice.TestServices" 
      invoke="add">
     <attribute name="a" type="Integer" mode="IN" optional="false" ></attribute>
     <attribute name="b" type="Integer" mode="IN" optional="false"></attribute>
     <attribute name="result" type="Integer" mode="OUT" optional="false"></attribute>
    </service>

Service代碼: web

       public static Map<String, Object> add(DispatchContext dctx, Map<String, Object> context){ spa

Map<String, Object> resultMap = ServiceUtil.returnSuccess();
Integer a = (Integer) context.get("a");
Integer b = (Integer) context.get("b");
resultMap.put("result", a + b);
return resultMap;
} xml


調用其服務的代碼:

        XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
        config.setServerURL(new URL(" http://127.0.0.1:8080/webtools/control/xmlrpc"));
        config.setEnabledForExceptions(true);
        config.setEnabledForExtensions(true);

        XmlRpcClient client = new XmlRpcClient();
        client.setConfig(config);

        Map paramMap = new HashMap();
        paramMap.put("a", 3);                     //參數
        paramMap.put("b", 5);                     //參數
        paramMap.put("login.username", "admin");          //用戶名
        paramMap.put("login.password", "ofbiz");            //密碼

        Object[] params = new Object[]{paramMap};

        Map result = (Map) client.execute(" test.add", params);

        System.out.println(result.toString());
相關文章
相關標籤/搜索