I am trying to post a payment to a vendor and receive a response from the vendor that the payment has been received.
Servlet "CreditCardPaymentAction" posts the payment information to the vendor and returns null. The postback url is "http://xxx/CreateUser.do" which maps to the "CreateUserAction" servlet. In other words, I'm trying to post the information to the vendor using CreditCardPaymentAction and receive the confirmation using CreateUserAction. The first part seems to work but, what I get back is puzzling. In CreateUserAction getQueryString returns null. getParameter("xid") returns null. However, BufferedReader returns a jsp which contains the parameter("xid") and its value indicating a successful transaction. The problem is I can't seem to retrieve it in the servlet. I've Googled until I'm red in the face. Could someone tell me why I can't retrieve the value for xid using getParameter("xid")? I've attached code snippets below: Struts-config.xml <action path="/makePayment" input="/creditCardPayment.jsp" name="CreditCardForm" scope="request" type=" com.beeslender.struts.CreditCardPaymentAction"> ... None of the forwards are used </action> <action path="/createUser" type="com.beeslender.struts.CreateUserAction"> <forward name="create.user.success" path="/myPageSetup.do"/> <forward name="create.user.failure" path="/makePaymentPage.do"/> </action> CreditCardPaymentAction // Get the card information CreditCardForm creditCardForm = (CreditCardForm) form; // Assemble the credit card info for transmission to vendor // Constants come from properties StringBuffer parms = makeParms(userVO, creditCardForm, props); URL url = new URL(props.getString("credit.card.vendor.url")); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); openConnection(conn); sendRequest(conn, parms); return null; private void openConnection(HttpURLConnection conn) { conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); } private void sendRequest(HttpURLConnection conn, StringBuffer parms) { DataOutputStream writer; conn.setRequestMethod("POST"); conn.setRequestProperty ("Content-Type","application/x-www-form-urlencoded"); writer = new DataOutputStream(conn.getOutputStream()); writer.writeBytes(parms.toString()); writer.flush(); writer.close(); } CreateUserAction String xid = request.getParameter("xid"); String s = request.getQueryString(); System.out.println("The Query String is >>>>>" + s); BufferedReader in = new BufferedReader(request.getReader()); String decodedString; while ((decodedString = in.readLine()) != null) { System.out.println(decodedString); } in.close(); Much Appreciated, Bob Harrison -- "In theory there is no difference between theory and practice. In practice there is." Yogi Berra