Call to API only returns Exception: HTTP 302: Found

Insidious
Kilo Contributor

Executing any API call (I have tried several) only returns the above mentioned HTTP 302. The following code is typical of the attempts. the credentials have been marked out for security. What does 302 REALLY mean in this instance and how do I alleviate this error and actually produce something useful?


public void getRecord(String n)
{
try
{
// Call Web Service Operation
com.service_now.ServiceNowIncident service = new com.service_now.ServiceNowIncident();
com.service_now.ServiceNowSoap port = service.getServiceNowSoap();

final BindingProvider hB = ((BindingProvider) port);

hB.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "********");
hB.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "********");

// TODO initialize WS operation arguments here
java.lang.Boolean active = Boolean.FALSE;
java.lang.String activityDue = "";
java.lang.String approval = "";
java.lang.String approvalHistory = "";
java.lang.String approvalSet = "";
java.lang.String assignedTo = "";
java.lang.String assignmentGroup = "";
java.lang.String businessDuration = "";
java.math.BigInteger businessStc = null;
java.lang.String calendarDuration = "";
java.math.BigInteger calendarStc = null;
java.lang.String callerId = "";
java.lang.String category = "";
java.lang.String causedBy = "";
java.math.BigInteger childIncidents = null;
java.lang.String closeCode = "";
java.lang.String closeNotes = "";
java.lang.String closedAt = "";
java.lang.String closedBy = "";
java.lang.String cmdbCi = "";
java.lang.String comments = "";
java.lang.String commentsAndWorkNotes = "";
java.lang.String company = "";
java.lang.String contactType = "";
java.lang.String correlationDisplay = "";
java.lang.String correlationId = "";
java.lang.String deliveryPlan = "";
java.lang.String deliveryTask = "";
java.lang.String description = "";
java.lang.String dueDate = "";
java.math.BigInteger escalation = null;
java.lang.String expectedStart = "";
java.lang.String followUp = "";
java.lang.String groupList = "";
java.math.BigInteger impact = null;
java.math.BigInteger incidentState = null;
java.lang.Boolean knowledge = Boolean.FALSE;
java.lang.String location = "";
java.lang.Boolean madeSla = Boolean.FALSE;
java.math.BigInteger notify = null;
java.lang.String number = "";
java.lang.String openedAt = "";
java.lang.String openedBy = "";
java.math.BigInteger order = null;
java.lang.String parent = "";
java.lang.String parentIncident = "";
java.math.BigInteger priority = null;
java.lang.String problemId = "";
java.math.BigInteger reassignmentCount = null;
java.math.BigInteger reopenCount = null;
java.lang.String rfc = "";
java.math.BigInteger severity = null;
java.lang.String shortDescription = "";
java.lang.String skills = "";
java.lang.String slaDue = "";
java.math.BigInteger state = null;
java.lang.String subcategory = "";
java.lang.String sysClassName = "";
java.lang.String sysCreatedBy = "";
java.lang.String sysCreatedOn = "";
java.lang.String sysDomain = "";
java.lang.String sysId = "";
java.math.BigInteger sysModCount = null;
java.lang.String sysUpdatedBy = "";
java.lang.String sysUpdatedOn = "";
java.lang.String timeWorked = "";
java.lang.String uFirstCallResolution = "";
java.lang.String uPendingReason = "";
java.lang.String uponApproval = "";
java.lang.String uponReject = "";
java.math.BigInteger urgency = null;
java.lang.String userInput = "";
java.lang.String watchList = "";
java.lang.String workEnd = "";
java.lang.String workNotes = "";
java.lang.String workNotesList = "";
java.lang.String workStart = "";
java.lang.String useView = "";
java.lang.String encodedQuery = "";
java.lang.String limit = "";
java.lang.String firstRow = "";
java.lang.String lastRow = "";
java.lang.String orderBy = "";
java.lang.String orderByDesc = "";
java.lang.String excludeColumns = "";
// TODO process result here
// number = "INC0010164";
number = n;
java.util.List result = port.getRecords(active, activityDue, approval, approvalHistory, approvalSet, assignedTo, assignmentGroup, businessDuration, businessStc, calendarDuration, calendarStc, callerId, category, causedBy, childIncidents, closeCode, closeNotes, closedAt, closedBy, cmdbCi, comments, commentsAndWorkNotes, company, contactType, correlationDisplay, correlationId, deliveryPlan, deliveryTask, description, dueDate, escalation, expectedStart, followUp, groupList, impact, incidentState, knowledge, location, madeSla, notify, number, openedAt, openedBy, order, parent, parentIncident, priority, problemId, reassignmentCount, reopenCount, rfc, severity, shortDescription, skills, slaDue, state, subcategory, sysClassName, sysCreatedBy, sysCreatedOn, sysDomain, sysId, sysModCount, sysUpdatedBy, sysUpdatedOn, timeWorked, uFirstCallResolution, uPendingReason, uponApproval, uponReject, urgency, userInput, watchList, workEnd, workNotes, workNotesList, workStart, useView, encodedQuery, limit, firstRow, lastRow, orderBy, orderByDesc, excludeColumns);
System.out.println("Result = " + result);
}
catch (Exception ex)
{
System.out.println("Exception -- " + ex.getMessage());
}

2 REPLIES 2

tony_fugere
Mega Guru

302 is a redirect message. Are you connecting to the right URL for the SOAP post?


Insidious
Kilo Contributor

There were a number of issues involved here including an correct URI, a set of credentials not set up for SOAP access and a WSDL implementation that only seems to work correctly with Axis2.