-
ChatterFeed
-
0Best Answers
-
0Likes Received
-
0Likes Given
-
1Questions
-
2Replies
A exception org.apache.axis.AxisFault thrown when run in weblogic server.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)org.apache.axis.AxisFault
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:216)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:2767)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:2443)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:2366)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:1812)org.apache.axis.AxisFault
at com.sforce.soap.enterprise.SoapBindingStub.create(SoapBindingStub.java:2721)org.apache.axis.AxisFault
at com.webex.webapp.supportcenter.ext.sforce.Sforce.createCaseActivityHistory(Sforce.java:148)org.apache.axis.AxisFault
at com.webex.webapp.supportcenter.ext.sforce.SforceAction.process(SforceAction.java:105)
import java.net.URL;
import java.rmi.RemoteException;
import java.util.Calendar;
import com.sforce.soap.enterprise.GetServerTimestampResult;
import com.sforce.soap.enterprise.QueryResult;
import com.sforce.soap.enterprise.SaveResult;
import com.sforce.soap.enterprise.SessionHeader;
import com.sforce.soap.enterprise.SforceServiceLocator;
import com.sforce.soap.enterprise.SoapBindingStub;
import com.sforce.soap.enterprise.fault.UnexpectedErrorFault;
import com.sforce.soap.enterprise.sobject.Account;
import com.sforce.soap.enterprise.sobject.SObject;
import com.sforce.soap.enterprise.sobject.Task;
import com.webex.common.exception.ExceptionUtil;
import com.webex.common.exception.WbxException;
import com.webex.common.logger.LogLevel;
import com.webex.common.logger.WbxLogger;
import com.webex.webapp.supportcenter.common.util.LogUtil;
*
* <p>
* Title:
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2004
* </p>
* <p>
* Company: webex
* </p>
*
* @author Jeff Jin(jeffj@sz.webex.com)
* @version 1.0
*/
public class Sforce {
private SoapBindingStub binding = null;
*
* @param serverUrl
* String
* @throws WbxException
* if any error
*/
public Sforce(String serverUrl) throws WbxException {
binding = (SoapBindingStub) (new SforceServiceLocator()
.getSoap(new URL(serverUrl)));
} catch (MalformedURLException ex1) {
logger.logFatal(
"Sforce.Sforce() has MalformedURLException exception", ex1);
throw new WbxException(ex1.getMessage());
} catch (ServiceException ex2) {
logger.logFatal("Sforce.Sforce() has ServiceException exception",
ex2);
throw new WbxException(ex2.getMessage());
}
* add a case activity history
*
* @param sessionID
* String
* @param caseID
* String
* @param sessionNumber
* String
* @param cal
* Calendar
* @param startTime
* String
* @param endTime
* String
* @throws WbxException
* if any error
*/
public void createCaseActivityHistory(String sessionID, String caseID,
String sessionNumber, Calendar cal, String startTime, String endTime)
throws WbxException {
String subject = "WebEx Support Session";
String status = "Completed";
String priority = "Normal";
String description = "Started WebEx Support Session # - "
+ sessionNumber + "; Start Time - " + startTime
+ "; End Time - " + endTime + "." + "\n\n"
+ "To view session details, click\n" + sessDetailApiUrl2;
// instantiate the new account object
Task task = new Task();
task.setWhatId(caseID);
task.setSubject(subject);
task.setStatus(status);
task.setPriority(priority);
task.setDescription(description);
task.setActivityDate(cal.getTime());
// add task to the array of objects
tasks[0] = task;
serverUrl);
SessionHeader sh = new SessionHeader();
// set the sessionId property on the header object using
// the value from the login result
sh.setSessionId(sessionID);
// add the header to the binding stub
String sforceURI = new SforceServiceLocator().getServiceName()
.getNamespaceURI();
binding.setHeader(sforceURI, "SessionHeader", sh);
// binding.setHeader("SforceService", "SessionHeader", sh);
getAccountAndTimeStamp();
}
SaveResult[] saveResults = null;
try {
saveResults = binding.create(tasks);
} catch (UnexpectedErrorFault uef) {
logger
.logError(
"Sforce.createCaseActivityHistory() has a UnexpectedErrorFault:{0}",
ExceptionUtil.getStackTrace(uef));
return;
} catch (Exception e) {
logger.logError(
"Sforce.createCaseActivityHistory() has a Exception:{0}",
ExceptionUtil.getStackTrace(e));
return;
}
if (saveResults == null) {
logger.logDebug("return result is null!");
return;
}
for (int i = 0; i < saveResults.length; i++) {
// we will create a separate save result object for clarity
SaveResult saveResult = saveResults[i];
// check to see if the first update was a success
if (saveResult.isSuccess()) {
// the id that we passed should be the one we get back.
if (logger.isDebug()) {
logger.logDebug("Succeed to create case activity history!");
LogUtil.logObject(logger, "saveResult", saveResult);
}
// an error occurred on this record
Error error = saveResult.getErrors()[0];
logger.logError("Return error:" + error.getMessage());
LogUtil.logObject(logger, "error", error);
}
}
}
GetServerTimestampResult tsr = null;
tsr = binding.getServerTimestamp();
System.out.println("The server timestamp is: "
+ tsr.getTimestamp().getTime().toString());
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (RemoteException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// call the query saving the results in qr
try {
qr = binding
.query("select Name, numberOfEmployees, Id, Industry from Account");
} catch (UnexpectedErrorFault uef) {
System.out.println(uef.getExceptionMessage() + "\n\n");
return;
} catch (Exception e) {
e.printStackTrace();
System.out.println("\n\n");
return;
}
// always a good idea
if (qr != null) {
SObject[] records = qr.getRecords();
Account[] _accounts = new Account[records.length];
// we can loop through the returned records
for (int i = 0; i < records.length; i++) {
// Because we asked for accounts we will convert
// the SObject for each record into an Account object
Account account = (Account) records[i];
_accounts[i] = account;
// Now we can access any of the fields we had in the query
// select clause directly from the account variable
if (logger.isDebug()) {
logger.logDebug(new Integer(i).toString() + ". ");
logger.logDebug(account.getName() + " - ");
logger.logDebug(account.getId());
}
}
logger.logDebug("Complete getAccountAndTimeStamp()");
}
}
* add a case activity history
*
* @param sessionID
* String
* @param caseID
* String
* @param sessionNumber
* String
* @param cal
* Calendar
* @param startTime
* String
* @param endTime
* String
* @throws WbxException
* if any error
*/
// public void createCaseActivityHistory(String sessionID,
// String caseID,
// String sessionNumber,
// Calendar cal,
// String startTime,
// String endTime) throws
// WbxException {
//
// String sessDetailApiUrl2 = this.getSessDetailApiUrl();
// String subject = "WebEx Support Session";
// String status = "Completed";
// String priority = "Normal";
// String description = "Started WebEx Support Session # - "
// + sessionNumber + "; Start Time - " + startTime
// + "; End Time - " + endTime + "." + "\n\n"
// + "To view session details, click\n"
// + sessDetailApiUrl2;
//
// SObject[] tasks = new SObject[1];
// Task task = new Task();
// task.setWhatId(caseID);
// task.setSubject(subject);
// task.setStatus(status);
// task.setPriority(priority);
// task.setDescription(description);
// task.setActivityDate(cal.getTime());
//
// //add task to the array of objects
// tasks[0] = task;
// addSforceObject(sessionID, tasks);
// }
/**
*
* @param SessionID
* String
* @param sobjects
* SObject[]
* @throws WbxException
*/
private void addSforceObject(String sessionID, SObject[] sobjects)
throws WbxException {
SaveResult[] saveResults = null;
SessionHeader sh = new SessionHeader();
sh.setSessionId(sessionID);
binding.setHeader("SforceService", "SessionHeader", sh);
binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,
serverUrl);
saveResults = binding.create(sobjects);
} catch (RemoteException ex) {
logger.logFatal(
"Sforce.addSforceObject() has RemoteException exception",
ex);
throw new WbxException(ex.getMessage());
}
logger.log1(LogLevel.DEBUG, "length:{0}", String
.valueOf(saveResults.length));
if (saveResults == null) {
return;
}
// we will create a separate save result object for clarity
SaveResult saveResult = saveResults[i];
// check to see if the first update was a success
if (saveResult.isSuccess()) {
// the id that we passed should be the one we get back.
logger.log1(LogLevel.DEBUG, "Add a case comment:{0}", String
.valueOf(saveResult.getId()));
} else {
// an error occurred on this record
Error error = saveResult.getErrors()[0];
"Sforce.addSforceObject() has a error: {0}", error
.getMessage());
}
}
}
* setSessDetailApiUrl
*
* @param sessDetailApiUrl
* String
*/
public void setSessDetailApiUrl(String sessDetailApiUrl) {
this.sessDetailApiUrl = sessDetailApiUrl;
}
* getSessDetailApiUrl
*
* @return String
*/
public String getSessDetailApiUrl() {
return this.sessDetailApiUrl;
}
- Sangeet
- July 04, 2007
- Like
- 0
A exception org.apache.axis.AxisFault thrown when run in weblogic server.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)org.apache.axis.AxisFault
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:216)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:2767)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:2443)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:2366)org.apache.axis.AxisFault
at org.apache.axis.client.Call.invoke(Call.java:1812)org.apache.axis.AxisFault
at com.sforce.soap.enterprise.SoapBindingStub.create(SoapBindingStub.java:2721)org.apache.axis.AxisFault
at com.webex.webapp.supportcenter.ext.sforce.Sforce.createCaseActivityHistory(Sforce.java:148)org.apache.axis.AxisFault
at com.webex.webapp.supportcenter.ext.sforce.SforceAction.process(SforceAction.java:105)
import java.net.URL;
import java.rmi.RemoteException;
import java.util.Calendar;
import com.sforce.soap.enterprise.GetServerTimestampResult;
import com.sforce.soap.enterprise.QueryResult;
import com.sforce.soap.enterprise.SaveResult;
import com.sforce.soap.enterprise.SessionHeader;
import com.sforce.soap.enterprise.SforceServiceLocator;
import com.sforce.soap.enterprise.SoapBindingStub;
import com.sforce.soap.enterprise.fault.UnexpectedErrorFault;
import com.sforce.soap.enterprise.sobject.Account;
import com.sforce.soap.enterprise.sobject.SObject;
import com.sforce.soap.enterprise.sobject.Task;
import com.webex.common.exception.ExceptionUtil;
import com.webex.common.exception.WbxException;
import com.webex.common.logger.LogLevel;
import com.webex.common.logger.WbxLogger;
import com.webex.webapp.supportcenter.common.util.LogUtil;
*
* <p>
* Title:
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2004
* </p>
* <p>
* Company: webex
* </p>
*
* @author Jeff Jin(jeffj@sz.webex.com)
* @version 1.0
*/
public class Sforce {
private SoapBindingStub binding = null;
*
* @param serverUrl
* String
* @throws WbxException
* if any error
*/
public Sforce(String serverUrl) throws WbxException {
binding = (SoapBindingStub) (new SforceServiceLocator()
.getSoap(new URL(serverUrl)));
} catch (MalformedURLException ex1) {
logger.logFatal(
"Sforce.Sforce() has MalformedURLException exception", ex1);
throw new WbxException(ex1.getMessage());
} catch (ServiceException ex2) {
logger.logFatal("Sforce.Sforce() has ServiceException exception",
ex2);
throw new WbxException(ex2.getMessage());
}
* add a case activity history
*
* @param sessionID
* String
* @param caseID
* String
* @param sessionNumber
* String
* @param cal
* Calendar
* @param startTime
* String
* @param endTime
* String
* @throws WbxException
* if any error
*/
public void createCaseActivityHistory(String sessionID, String caseID,
String sessionNumber, Calendar cal, String startTime, String endTime)
throws WbxException {
String subject = "WebEx Support Session";
String status = "Completed";
String priority = "Normal";
String description = "Started WebEx Support Session # - "
+ sessionNumber + "; Start Time - " + startTime
+ "; End Time - " + endTime + "." + "\n\n"
+ "To view session details, click\n" + sessDetailApiUrl2;
// instantiate the new account object
Task task = new Task();
task.setWhatId(caseID);
task.setSubject(subject);
task.setStatus(status);
task.setPriority(priority);
task.setDescription(description);
task.setActivityDate(cal.getTime());
// add task to the array of objects
tasks[0] = task;
serverUrl);
SessionHeader sh = new SessionHeader();
// set the sessionId property on the header object using
// the value from the login result
sh.setSessionId(sessionID);
// add the header to the binding stub
String sforceURI = new SforceServiceLocator().getServiceName()
.getNamespaceURI();
binding.setHeader(sforceURI, "SessionHeader", sh);
// binding.setHeader("SforceService", "SessionHeader", sh);
getAccountAndTimeStamp();
}
SaveResult[] saveResults = null;
try {
saveResults = binding.create(tasks);
} catch (UnexpectedErrorFault uef) {
logger
.logError(
"Sforce.createCaseActivityHistory() has a UnexpectedErrorFault:{0}",
ExceptionUtil.getStackTrace(uef));
return;
} catch (Exception e) {
logger.logError(
"Sforce.createCaseActivityHistory() has a Exception:{0}",
ExceptionUtil.getStackTrace(e));
return;
}
if (saveResults == null) {
logger.logDebug("return result is null!");
return;
}
for (int i = 0; i < saveResults.length; i++) {
// we will create a separate save result object for clarity
SaveResult saveResult = saveResults[i];
// check to see if the first update was a success
if (saveResult.isSuccess()) {
// the id that we passed should be the one we get back.
if (logger.isDebug()) {
logger.logDebug("Succeed to create case activity history!");
LogUtil.logObject(logger, "saveResult", saveResult);
}
// an error occurred on this record
Error error = saveResult.getErrors()[0];
logger.logError("Return error:" + error.getMessage());
LogUtil.logObject(logger, "error", error);
}
}
}
GetServerTimestampResult tsr = null;
tsr = binding.getServerTimestamp();
System.out.println("The server timestamp is: "
+ tsr.getTimestamp().getTime().toString());
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (RemoteException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// call the query saving the results in qr
try {
qr = binding
.query("select Name, numberOfEmployees, Id, Industry from Account");
} catch (UnexpectedErrorFault uef) {
System.out.println(uef.getExceptionMessage() + "\n\n");
return;
} catch (Exception e) {
e.printStackTrace();
System.out.println("\n\n");
return;
}
// always a good idea
if (qr != null) {
SObject[] records = qr.getRecords();
Account[] _accounts = new Account[records.length];
// we can loop through the returned records
for (int i = 0; i < records.length; i++) {
// Because we asked for accounts we will convert
// the SObject for each record into an Account object
Account account = (Account) records[i];
_accounts[i] = account;
// Now we can access any of the fields we had in the query
// select clause directly from the account variable
if (logger.isDebug()) {
logger.logDebug(new Integer(i).toString() + ". ");
logger.logDebug(account.getName() + " - ");
logger.logDebug(account.getId());
}
}
logger.logDebug("Complete getAccountAndTimeStamp()");
}
}
* add a case activity history
*
* @param sessionID
* String
* @param caseID
* String
* @param sessionNumber
* String
* @param cal
* Calendar
* @param startTime
* String
* @param endTime
* String
* @throws WbxException
* if any error
*/
// public void createCaseActivityHistory(String sessionID,
// String caseID,
// String sessionNumber,
// Calendar cal,
// String startTime,
// String endTime) throws
// WbxException {
//
// String sessDetailApiUrl2 = this.getSessDetailApiUrl();
// String subject = "WebEx Support Session";
// String status = "Completed";
// String priority = "Normal";
// String description = "Started WebEx Support Session # - "
// + sessionNumber + "; Start Time - " + startTime
// + "; End Time - " + endTime + "." + "\n\n"
// + "To view session details, click\n"
// + sessDetailApiUrl2;
//
// SObject[] tasks = new SObject[1];
// Task task = new Task();
// task.setWhatId(caseID);
// task.setSubject(subject);
// task.setStatus(status);
// task.setPriority(priority);
// task.setDescription(description);
// task.setActivityDate(cal.getTime());
//
// //add task to the array of objects
// tasks[0] = task;
// addSforceObject(sessionID, tasks);
// }
/**
*
* @param SessionID
* String
* @param sobjects
* SObject[]
* @throws WbxException
*/
private void addSforceObject(String sessionID, SObject[] sobjects)
throws WbxException {
SaveResult[] saveResults = null;
SessionHeader sh = new SessionHeader();
sh.setSessionId(sessionID);
binding.setHeader("SforceService", "SessionHeader", sh);
binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,
serverUrl);
saveResults = binding.create(sobjects);
} catch (RemoteException ex) {
logger.logFatal(
"Sforce.addSforceObject() has RemoteException exception",
ex);
throw new WbxException(ex.getMessage());
}
logger.log1(LogLevel.DEBUG, "length:{0}", String
.valueOf(saveResults.length));
if (saveResults == null) {
return;
}
// we will create a separate save result object for clarity
SaveResult saveResult = saveResults[i];
// check to see if the first update was a success
if (saveResult.isSuccess()) {
// the id that we passed should be the one we get back.
logger.log1(LogLevel.DEBUG, "Add a case comment:{0}", String
.valueOf(saveResult.getId()));
} else {
// an error occurred on this record
Error error = saveResult.getErrors()[0];
"Sforce.addSforceObject() has a error: {0}", error
.getMessage());
}
}
}
* setSessDetailApiUrl
*
* @param sessDetailApiUrl
* String
*/
public void setSessDetailApiUrl(String sessDetailApiUrl) {
this.sessDetailApiUrl = sessDetailApiUrl;
}
* getSessDetailApiUrl
*
* @return String
*/
public String getSessDetailApiUrl() {
return this.sessDetailApiUrl;
}
- Sangeet
- July 04, 2007
- Like
- 0
Creating WebLinks from code using the Partner WSDL
I tried creating web links but they do not seem to show up, for example, under "Studio - Customize - Accounts - Web Links". I'm using the following VB.net code to do it:
Dim webLink As New sforce.sObject
Dim webLinkArray(0) As sforce.sObject
Dim webLinkXmlElement(5) As Xml.XmlElement
Dim webLinkXmlDoc As New Xml.XmlDocument
webLinkXmlElement(0) = webLinkXmlDoc.CreateElement("LinkType")
webLinkXmlElement(0).InnerText = "URL"
webLinkXmlElement(1) = webLinkXmlDoc.CreateElement("Name")
webLinkXmlElement(1).InnerText = "WIL from code"
webLinkXmlElement(2) = webLinkXmlDoc.CreateElement("OpenType")
webLinkXmlElement(2).InnerText = "Sidebar"
webLinkXmlElement(3) = webLinkXmlDoc.CreateElement("PageEnumOrId")
webLinkXmlElement(3).InnerText = "AccountDetail"
webLinkXmlElement(4) = webLinkXmlDoc.CreateElement("Url")
webLinkXmlElement(4).InnerText = "http://www.google.com"
webLinkXmlElement(5) = webLinkXmlDoc.CreateElement("EncodingKey")
webLinkXmlElement(5).InnerText = "Unicode (UTF-8)"
webLink.type = "WebLink"
webLink.Any = webLinkXmlElement
webLinkArray(0) = webLink
Dim sr() As sforce.SaveResult = binding.create(webLinkArray)
Am I missing a field that is required? I just started using the Parter WSDL, so I am still a bit unfamiliar with it vs. the Enterprise WSDL.
Also, what are the valid values for EncodingKey?
Any help would be appreciated. Thank you.
- jeselon
- September 17, 2004
- Like
- 0