Java's wsimport tool returns collision errors when consuming some of Forte's SOAP web services. What causes these errors and how can I work around it?
The wsdl below is generated in the ObjectFactory class:
createTransactionResponse(TransactionResponse), for complexType Transaction, element Response (Line 122),
createTransactionResponse(TransactionResponse), for complexType TransactionResponse (Line 172)
These two methods have a name conflict. As a workaround, use a JXB file to change the name of the complexType "Transaction" to "Trans" in the JXB file as shown below and save it (e.g., cust.xjb). To import the file, use the following command:
wsimport -s . -b cust.xjb https://sandbox.paymentsgateway.net/WS/Transaction.wsdl
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings version="2.0" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<jaxb:bindings schemaLocation="https://sandbox.paymentsgateway.net/WS/Transaction.wsdl#types?schema1" node="/xs:schema">
<jaxb:bindings node="//xs:complexType[@name='Transaction']">
<jaxb:class name="Trans"/>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
How can clients be returned to a custom page after making a payment?
You can arrange for clients to be returned to a custom page after a transaction in one of the following two ways:
pg_continue_url
: After any payment has been completed PassFail
, Forte will direct the client to this URL after he/she clicks the Continuebutton. If the merchant has specified a valid return URL, this field is ignored.<html> <form method='post' action= 'https://swp.paymentsgateway.net/default.aspx'> <table cellSpacing='0' cellPadding='0' border='0'><tr><td align='right' width='300'></td> <td align='left' width='200'><input type='hidden' name='pg_api_login_id' value='b743eomgg5'/></td> </tr><tr><td align='right' width='300'></td> <td align='left' width='200'><input type='hidden' name='pg_continue_url' value='http://www.somewebsite.com/page.aspx'/></td> </tr><tr><td align='right' width='300'></td> <td align='left' width='200'><INPUT TYPE=SUBMIT value='Pay Now'> <br> </td> </tr> </table> </form> </html>
pg_return_url
: This is the page Forte returns the customer to after a transaction has completed. This page should contain a server-side script to parse the data being posted to it; however, it can be a static HTML page as well. If this field is not set or is invalid, the entire transaction is done on the Payments Gateway. In order to be a valid return URL, the value sent must match at least one of the values in the Virtual Terminal.<html> <form method='post' action= 'https://swp.paymentsgateway.net/default.aspx'> <table cellSpacing='0' cellPadding='0' border='0'><tr><td align='right' width='300'></td> <td align='left' width='200'><input type='hidden' name='pg_api_login_id' value='b743eomgg5'/></td> </tr><tr><td align='right' width='300'></td> <td align='left' width='200'><input type='hidden' name='pg_return_url' value='http://www.somewebsite.com/page.aspx'/></td> </tr><tr><td align='right' width='300'></td> <td align='left' width='200'><INPUT TYPE=SUBMIT value='Pay Now'> <br> </td> </tr> </table> </form> </html>When debugging an application using web services, it's useful to look to the SOAP XML that is transmitting the request and response messages. A tool such as HTTP Analyzer (or a tool that you may already have in your library) can be used to view request and response messages. For your reference, the messages are encapsulated between
<s:Envelop
... ...</s:Envelop>
tags. If additional troubleshooting is required, forward the messages (with sensitive field value masked) to your Integration Specialist along with your Merchant ID and a description of the issue
What's a good tool for troubleshooting issues with SOAP web services?
When debugging an application using web services, it's useful to look to the SOAP XML that is transmitting the request and response messages. A tool such as HTTP Analyzer (or a tool that you may already have in your library) can be used to view request and response messages. For your reference, the messages are encapsulated between <s:Envelop
... ...</s:Envelop>
tags.
If additional troubleshooting is required, forward the messages (with sensitive field value masked) to your Integration Specialist along with your Merchant ID and a description of the issue.