<paymentOp.xml> <operation context="paymentCtx" id="paymentOp" implClass="com.ibm.btt.poc.operation.PaymentOperation"> <refFormat name="csReplyFormat" refId="paymentSecondRecFmt" /> </operation> </paymentOp.xml>
<context id="paymentCtx" type="oper"> <refKColl refId="paymentData"/> </context>
<kColl id="paymentData"> <data id="acctFrom" refType="String"> <param id="isMandatory" value="true" /> </data> <data id="acctTo" refType="String"> <param id="isMandatory" value="true" /> </data> <data id="amount" refType="Amount"> <param id="isMandatory" value="true" /> </data> <data id="acctFromBalance" refType="Amount" /> <data id="acctToBalance" refType="Amount" /> <data id="pageName" refType="String"></data> <field id="TrxReplyCode" /> </kColl>
<fmtDef id="paymentXMLFmt"> <fXML dataName="paymentData"> <fString dataName="acctFrom" /> <fString dataName="acctTo" /> <fString dataName="amount" /> <fString dataName="acctFromBalance" /> <fString dataName="acctToBalance" /> </fXML> </fmtDef> <fmtDef id="paymentFirstRecFmt"> <record> </record> </fmtDef>
<fmtDef id="paymentSecondRecFmt"> <record> <fString dataName="TrxReplyCode" /> <delim delimChar="#" /> </record> </fmtDef> <fmtDef id="paymentSecondReqFmt"> <record> <constant value="Tx06" /> <delim delimChar="#" /> <fString dataName="acctFrom" /> <delim delimChar="#" /> <fString dataName="acctTo" /> <delim delimChar="#" /> <fString dataName="amount" /> <delim delimChar="#" /> </record> </fmtDef>
<WSDII id="paymentWS" wsdlURL="http://localhost:9080/BackendEmulatorWeb/wsdl/Payment.wsdl" operation="PaymentOperation"> <parameters> <wsDIIparameter id="cardReq" /> </parameters> </WSDII>
String useWebService = "false"; WSDynamicInvoker wsinvoker = null; useWebService = mark.getString("useWebService"); if(useWebService.equals("true")){ wsinvoker = (WSDynamicInvoker) InvokerFactory.getDefaultInvokerFactory().createInvoker("paymentWS"); //Call a web service WebServiceInfo wsinfo= wsinvoker.getWsInfo(); UserDefineTypeInfo paymentReqType = wsinfo.getUserDefineTypeByName("PaymentReqType"); UserDefineTypeInfo paymentResponseType = wsinfo.getUserDefineTypeByName("PaymentResponseType"); GenericDataObject cardReq = wsinvoker.convertContexDataToGenericDataObject(wsinvoker.getParameters().get("cardReq") , paymentReqType, this.getContext()); Object result = wsinvoker.execute(new Object[]{ cardReq }); if ( result instanceof GenericDataObject) wsinvoker.convertGenericDataObjectToContext( wsinvoker.getParameters().get("cardReq") , paymentResponseType, (GenericDataObject) result, this.getContext()); // Set the page to display for HTML channel } setValueAt(HtmlConstants.REPLYPAGE, "paymentcomplete.jsp"); setValueAt("errorCode", HtmlException.OK); setValueAt("TrxReplyCode","OK"); setValueAt("outcome","succcess");