SIEBEL调用WEBSERVICE接口
- 格式:docx
- 大小:1.62 MB
- 文档页数:10
SIEBEL开发实例——SIEBEL调用WEBSERVICE接口1.生成wsdl文件在网址栏输入http://192.168.20.80:8082/SSERP/services/ErpService?wsdl另存为wsdl文件2.导入wsdl文件导入之前要在tools.cfg文件中指定导入盘符,代码如下:[EAIFileTransportConfigSubsys]EAIFileTransportFolders = G:\会在wsdl的目录下生成一个xml文件在BS中查找导入的service名称为wsdl文件名称导入后会生成IO,如果要重新导入需要删除对应的IO3、调用webservice代码实例:function create_acct(Inputs, Outputs){var erpsvc = TheApplication().GetService("IErpService"); var acctBO = TheApplication().GetBusObject("Account"); var acctBC = acctBO.GetBusComp("Account");var acctPara = TheApplication().NewPropertySet();var createErpAcctList = TheApplication().NewPropertySet(); var createErpAcct = TheApplication().NewPropertySet(); var acctInputs = TheApplication().NewPropertySet();var acctOutputs = TheApplication().NewPropertySet();try{var row_id = Inputs.GetProperty("row_id");acctBC.ClearToQuery();acctBC.SetViewMode(AllView);acctBC.ActivateField("SHFM Par Accnt Id");acctBC.ActivateField("SHFM Par Accnt Name");acctBC.ActivateField("CSN");acctBC.ActivateField("Name");acctBC.ActivateField("Account Type Code");acctBC.ActivateField("Rule Attribute 2");acctBC.ActivateField("StockDistriFlag");acctBC.ActivateField("Household Location");acctBC.ActivateField("Primary Organization Id");acctBC.ActivateField("Self Shipment Flag");acctBC.ActivateField("Dont Share");acctBC.ActivateField("Primary Ship To Address Id");acctBC.ActivateField("Print by Tax Rate Flag");acctBC.ActivateField("Sales Rep Id");acctBC.ActivateField("Primary Ship To Address Id");acctBC.ActivateField("SHFM Par Accnt Id");acctBC.ActivateField("SY Salesrep Contact Id");acctBC.ActivateField("Print at Min Unit Flag");acctBC.ActivateField("Product Line");acctBC.ActivateField("SY Sub AccChannel Type");acctBC.ActivateField("Account Status Change Reason");acctBC.ActivateField("Order Flag");acctBC.SetSearchSpec("Id", row_id);acctBC.ExecuteQuery(ForwardOnly);acctPara.SetType("createErpAcct:parameters");createErpAcctList.SetType("ListOfcreateErpAcct");createErpAcct.SetType("createErpAcct");if (acctBC.FirstRecord()){createErpAcct.SetProperty("arg0", acctBC.GetFieldValue("SHFM Par Accnt Id")); createErpAcct.SetProperty("arg1", acctBC.GetFieldValue("SHFM Par Accnt Name")); createErpAcct.SetProperty("arg2", acctBC.GetFieldValue("CSN")); createErpAcct.SetProperty("arg3", acctBC.GetFieldValue("Id")); createErpAcct.SetProperty("arg4", acctBC.GetFieldValue("Name"));var org_id = acctBC.GetFieldValue("Primary Organization Id");var orgBO = TheApplication().GetBusObject("Organizations");var orgBC = orgBO.GetBusComp("Organization");orgBC.ClearToQuery();orgBC.SetViewMode(AllView);orgBC.ActivateField("ERP OU Id");orgBC.SetSearchSpec("Id", org_id);orgBC.ExecuteQuery(ForwardOnly);if (orgBC.FirstRecord()){createErpAcct.SetProperty("arg5", orgBC.GetFieldValue("ERP OU Id"));} else {createErpAcct.SetProperty("arg5", null);}createErpAcct.SetProperty("arg6", acctBC.GetFieldValue("Account Type Code"));createErpAcct.SetProperty("arg7", acctBC.GetFieldValue("Rule Attribute 2"));createErpAcct.SetProperty("arg8", acctBC.GetFieldValue("StockDistriFlag"));createErpAcct.SetProperty("arg9", acctBC.GetFieldValue("Print by Tax Rate Flag"));createErpAcct.SetProperty("arg10", acctBC.GetFieldValue("Self Shipment Flag"));createErpAcct.SetProperty("arg11", acctBC.GetFieldValue("SY Salesrep Contact Id"));var ship_id = acctBC.GetFieldValue("Primary Ship To Address Id");var addressBC = acctBO.GetBusComp("SY Ship To Address");addressBC.ClearToQuery();addressBC.SetViewMode(AllView);addressBC.ActivateField("Integration Id");addressBC.ActivateField("Integration Id 2");addressBC.ActivateField("Integration Id 3");addressBC.ActivateField("Street Address");addressBC.ActivateField("Landlord Name");addressBC.ActivateField("Landlord Phone Number");addressBC.SetSearchSpec("Id", ship_id);addressBC.ExecuteQuery(ForwardOnly);if (addressBC.FirstRecord()){createErpAcct.SetProperty("arg12", addressBC.GetFieldValue("Integration Id"));createErpAcct.SetProperty("arg13", addressBC.GetFieldValue("Integration Id 2"));createErpAcct.SetProperty("arg14", addressBC.GetFieldValue("Integration Id 3"));createErpAcct.SetProperty("arg15", addressBC.GetFieldValue("Street Address"));createErpAcct.SetProperty("arg18", addressBC.GetFieldValue("Landlord Name"));createErpAcct.SetProperty("arg19", addressBC.GetFieldValue("Landlord Phone Number"));} else {createErpAcct.SetProperty("arg12", null);createErpAcct.SetProperty("arg13", null);createErpAcct.SetProperty("arg14", null);createErpAcct.SetProperty("arg15", null);createErpAcct.SetProperty("arg18", null);createErpAcct.SetProperty("arg19", null);}var organizationBO = TheApplication().GetBusObject("List Of Values");var organizationBC = organizationBO.GetBusComp("List Of Values");organizationBC.ClearToQuery();organizationBC.SetViewMode(AllView);organizationBC.ActivateField("Name");organizationBC.SetSearchSpec("Type", "RESID_LOCATION");organizationBC.SetSearchSpec("Value", acctBC.GetFieldValue("Household Location"));organizationBC.ExecuteQuery(ForwardOnly);if (organizationBC.FirstRecord()){createErpAcct.SetProperty("arg16", organizationBC.GetFieldValue("Name"));} else {createErpAcct.SetProperty("arg16", null);}createErpAcct.SetProperty("arg17", acctBC.GetFieldValue("SHFM Par Accnt Id"));createErpAcct.SetProperty("arg20", acctBC.GetFieldValue("Dont Share"));createErpAcct.SetProperty("arg21", acctBC.GetFieldValue("Print at Min Unit Flag"));createErpAcct.SetProperty("arg22", acctBC.GetFieldValue("Product Line"));createErpAcct.SetProperty("arg23", acctBC.GetFieldValue("SY Sub AccChannel Type"));createErpAcct.SetProperty("arg24", acctBC.GetFieldValue("Account Status Change Reason"));createErpAcct.SetProperty("arg25", acctBC.GetFieldValue("Order Flag"));} else {createErpAcct.SetProperty("arg0", null);createErpAcct.SetProperty("arg1", null);createErpAcct.SetProperty("arg2", null);createErpAcct.SetProperty("arg3", null);createErpAcct.SetProperty("arg4", null);createErpAcct.SetProperty("arg5", null);createErpAcct.SetProperty("arg6", null);createErpAcct.SetProperty("arg7", null);createErpAcct.SetProperty("arg8", null);createErpAcct.SetProperty("arg9", null);createErpAcct.SetProperty("arg10", null);createErpAcct.SetProperty("arg11", null);createErpAcct.SetProperty("arg12", null);createErpAcct.SetProperty("arg13", null);createErpAcct.SetProperty("arg14", null);createErpAcct.SetProperty("arg15", null);createErpAcct.SetProperty("arg16", null);createErpAcct.SetProperty("arg17", null);createErpAcct.SetProperty("arg18", null);createErpAcct.SetProperty("arg19", null);createErpAcct.SetProperty("arg20", null);createErpAcct.SetProperty("arg21", null);createErpAcct.SetProperty("arg22", null);createErpAcct.SetProperty("arg23", null);createErpAcct.SetProperty("arg24", null);createErpAcct.SetProperty("arg25", null);}createErpAcctList.AddChild(createErpAcct);acctPara.AddChild(createErpAcctList);acctInputs.AddChild(acctPara);erpsvc.InvokeMethod("createErpAcct", acctInputs, acctOutputs);if (acctOutputs.GetChildCount() > 0){var outputPara = acctOutputs.GetChild(0);if (outputPara.GetType() == "createErpAcctResponse:parameters"){if(outputPara.GetChildCount() > 0){var outputcreateErpAcctList = outputPara.GetChild(0);if (outputcreateErpAcctList.GetType() == "ListOfcreateErpAcctResponse") {if (outputcreateErpAcctList.GetChildCount() > 0){var outputcreateErpAcct = outputcreateErpAcctList.GetChild(0);if (outputcreateErpAcct.GetType() == "createErpAcctResponse") {var returnValue = outputcreateErpAcct.GetProperty("return");var returnFlag = returnValue.substr(0,1);var returnMsg = returnValue.substr(1);Outputs.SetProperty("returnFlag", returnFlag);Outputs.SetProperty("returnMsg", returnMsg);}}}}}}}catch(e){TheApplication().RaiseErrorText(e);}}4.在client端导入xml文件SIEBEL->管理WEB服务->出站WEB服务点击导入。