• Sangeet
  • NEWBIE
  • 0 Points
  • Member since 2004

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies
Hi,
 
We try to migrate our product from weblogic 8.1 to weblogic 9.2.  So  I  got a new WSDL from sforce site and build a new sforce.jar to make our code can run in JDK1.5. But i encounter a exception when run our code in weblogic server. If we don't run the code in weblogic server, just as a standalone application to test,  it's OK. The exception is  org.apache.axis.AxisFault.
 
Could you help me check it? It's urgent.
 
Exception:
 
[ERROR]          Sforce  - Sforce.createCaseActivityHistory() has a Exception:org.apache.axis.AxisFault
 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)
...............
 
Code detail:
 
package com.webex.webapp.supportcenter.ext.sforce;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.Calendar;
import javax.xml.rpc.ServiceException;
import org.apache.log4j.Level;
import com.sforce.soap.enterprise.Error;
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 {
 // create a class scope reference to the service object
 private SoapBindingStub binding = null;
 private static WbxLogger logger = WbxLogger.getLogger(Sforce.class);
 private String serverUrl = null;
 private String sessDetailApiUrl = null;
 /**
  *
  * @param serverUrl
  *            String
  * @throws WbxException
  *             if any error
  */
 public Sforce(String serverUrl) throws WbxException {
  this.serverUrl = serverUrl;
  try {
   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 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 Task[1];
  // 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());
  LogUtil.logObject(logger, "Task", task);
  // add task to the array of objects
  tasks[0] = task;
  binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,
    serverUrl);
  // create a session head object
  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);
  if(logger.isDebug()){
   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);
    }
   } else {
    // an error occurred on this record
    Error error = saveResult.getErrors()[0];
    logger.logError("Return error:" + error.getMessage());
    LogUtil.logObject(logger, "error", error);
   }
  }
 }
 private void getAccountAndTimeStamp() {
  try {
   GetServerTimestampResult tsr = null;
   tsr = binding.getServerTimestamp();
   System.out.println("The server timestamp is:  "
     + tsr.getTimestamp().getTime().toString());
  } catch (UnexpectedErrorFault e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  } catch (RemoteException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  QueryResult qr = null;
  // 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 {
  // create an array for the results
  SaveResult[] saveResults = null;
  // first create a session head object
  SessionHeader sh = new SessionHeader();
  // set the sessionId property on the header object using
  sh.setSessionId(sessionID);
  // add the header to the binding stub
  binding.setHeader("SforceService", "SessionHeader", sh);
  // reset the url endpoint property, this will cause subsequent calls
  binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,
    serverUrl);
  try {
   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;
  }
  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.
    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];
    logger.log1(Level.DEBUG,
      "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;
 }
}
Hi,
 
We try to migrate our product from weblogic 8.1 to weblogic 9.2.  So  I  got a new WSDL from sforce site and build a new sforce.jar to make our code can run in JDK1.5. But i encounter a exception when run our code in weblogic server. If we don't run the code in weblogic server, just as a standalone application to test,  it's OK. The exception is  org.apache.axis.AxisFault.
 
Could you help me check it? It's urgent.
 
Exception:
 
[ERROR]          Sforce  - Sforce.createCaseActivityHistory() has a Exception:org.apache.axis.AxisFault
 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)
...............
 
Code detail:
 
package com.webex.webapp.supportcenter.ext.sforce;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.Calendar;
import javax.xml.rpc.ServiceException;
import org.apache.log4j.Level;
import com.sforce.soap.enterprise.Error;
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 {
 // create a class scope reference to the service object
 private SoapBindingStub binding = null;
 private static WbxLogger logger = WbxLogger.getLogger(Sforce.class);
 private String serverUrl = null;
 private String sessDetailApiUrl = null;
 /**
  *
  * @param serverUrl
  *            String
  * @throws WbxException
  *             if any error
  */
 public Sforce(String serverUrl) throws WbxException {
  this.serverUrl = serverUrl;
  try {
   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 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 Task[1];
  // 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());
  LogUtil.logObject(logger, "Task", task);
  // add task to the array of objects
  tasks[0] = task;
  binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,
    serverUrl);
  // create a session head object
  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);
  if(logger.isDebug()){
   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);
    }
   } else {
    // an error occurred on this record
    Error error = saveResult.getErrors()[0];
    logger.logError("Return error:" + error.getMessage());
    LogUtil.logObject(logger, "error", error);
   }
  }
 }
 private void getAccountAndTimeStamp() {
  try {
   GetServerTimestampResult tsr = null;
   tsr = binding.getServerTimestamp();
   System.out.println("The server timestamp is:  "
     + tsr.getTimestamp().getTime().toString());
  } catch (UnexpectedErrorFault e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  } catch (RemoteException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  QueryResult qr = null;
  // 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 {
  // create an array for the results
  SaveResult[] saveResults = null;
  // first create a session head object
  SessionHeader sh = new SessionHeader();
  // set the sessionId property on the header object using
  sh.setSessionId(sessionID);
  // add the header to the binding stub
  binding.setHeader("SforceService", "SessionHeader", sh);
  // reset the url endpoint property, this will cause subsequent calls
  binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,
    serverUrl);
  try {
   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;
  }
  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.
    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];
    logger.log1(Level.DEBUG,
      "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;
 }
}

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.

 

  • September 17, 2004
  • Like
  • 0