• Mauman
  • NEWBIE
  • 0 Points
  • Member since 2003

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 9
    Questions
  • 19
    Replies
Once a custom tab is added, is there any way to change the permissions on who can see it?
  • April 22, 2005
  • Like
  • 0
Is there a way to have a web link (say on the Opportunity), switch to a Custom Tab, without popping a new window AND without having a set of nested tabs (2 sets appearing)?
  • April 22, 2005
  • Like
  • 0

I was 'rolling' my own SOAP messages (for use in .asp pages).  However I noticed today that the format in which data is returned as suddenly changed (see parts in bold)!

Old Format:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <queryResponse xmlns="urn:partner.soap.sforce.com">
   <result>
    <done>true</done>
    <queryLocator xsi:nil="true"/>
    <records>
     <ns1:type xmlns:ns1="urn:sobject.partner.soap.sforce.com">Lead</ns1:type>
     <ns2:Id xmlns:ns2="urn:sobject.partner.soap.sforce.com">LEADIDHERE</ns2:Id>
    </records>
    <records>
     <ns3:type xmlns:ns3="urn:sobject.partner.soap.sforce.com">Lead</ns3:type>
     <ns4:Id xmlns:ns4="urn:sobject.partner.soap.sforce.com">2NDLEADIDHERE</ns4:Id>
    </records>

    <size>2</size>
   </result>
  </queryResponse>
 </soapenv:Body>
</soapenv:Envelope>

New Format:

<SOAPENV:ENVELOPE XMLNS:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" XMLNS:XSD="http://www.w3.org/2001/XMLSchema" XMLNS:XSI="http://www.w3.org/2001/XMLSchema-instance">
    <SOAPENV:BODY>
        <QUERYRESPONSE XMLNS="urn:partner.soap.sforce.com">
            <RESULT>
                <DONE>true</DONE>
                <QUERYLOCATOR XSI:NIL="true"></QUERYLOCATOR>

                <RECORDS XMLNS:SF="urn:sobject.partner.soap.sforce.com" XSI:TYPE="sf:sObject">
                    <SF:TYPE>Lead</SF:TYPE>
                    <SF:ID>LEADIDHERE</SF:ID>
                </RECORDS>
                <RECORDS XMLNS:SF="urn:sobject.partner.soap.sforce.com" XSI:TYPE="sf:sObject">
                    <SF:TYPE>Lead</SF:TYPE>
                    <SF:ID>2NDLEADIDHERE</SF:ID>
                </RECORDS>

                <SIZE>2</SIZE>
            </RESULT>
        </QUERYRESPONSE>
    </SOAPENV:BODY>
</SOAPENV:ENVELOPE>

I'm assuming this is part of the Spring '04 release.  Is there a way that I can use an older version (perhaps specify the version in the request message)?  Or will I need to update my processing everytime that a change is made on Salesforce.com???

  • April 12, 2004
  • Like
  • 0

It appears that I am no longer able to insert into the CampaignMember entity.  I get the following error:

Error Code: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
Error Message: entity type cannot be inserted

In December I tracked what I could and could not do via a script:

2003.12.29 16:15:08+0734: Metadata for CampaignMember object:

2003.12.29 16:15:08+0734: Object name                       = CampaignMember
2003.12.29 16:15:08+0734: Number of fields                  = 11
2003.12.29 16:15:08+0734: Object can be activated           = false
2003.12.29 16:15:08+0734: Can create rows of data           = true
2003.12.29 16:15:08+0734: Object is custom object           = false
2003.12.29 16:15:08+0734: Can delete rows of data           = true
2003.12.29 16:15:08+0734: Can query for rows of data        = true
2003.12.29 16:15:08+0734: Object can be used in replication = false
2003.12.29 16:15:08+0734: Can use retrieve method on object = true
2003.12.29 16:15:08+0734: Can use search method on object   = false
2003.12.29 16:15:08+0734: Can un-delete rows of data        = false
2003.12.29 16:15:08+0734: Can update rows of data           = false

When I just re-ran the script, it appears I cannot create or delete rows anymore:

2004.04.01 16:39:58+0359: Metadata for CampaignMember object:

2004.04.01 16:39:58+0359: Object name                       = CampaignMember
2004.04.01 16:39:58+0359: Number of fields                  = 11
2004.04.01 16:39:58+0359: Object can be activated           = false
2004.04.01 16:39:58+0359: Can create rows of data           = false
2004.04.01 16:39:58+0359: Object is custom object           = false
2004.04.01 16:39:58+0359: Can delete rows of data           = false
2004.04.01 16:39:58+0359: Can query for rows of data        = true
2004.04.01 16:39:58+0359: Object can be used in replication = false
2004.04.01 16:39:58+0375: Can use retrieve method on object = true
2004.04.01 16:39:58+0375: Can use search method on object   = false
2004.04.01 16:39:58+0375: Can un-delete rows of data        = false
2004.04.01 16:39:58+0375: Can update rows of data           = false

Any ideas what might have changed??? 

This is imperitive so I can associate leads I import to campaigns.

  • April 01, 2004
  • Like
  • 0

I'm trying to 'roll my own' SOAP messages in order to 'opt-out' contacts from one of our ASP pages on our website.  I can login alright, but then when I try sending the update, I get back "The AXIS engine could not find a target service to invoke! targetService is u/2.5".  I am sending this message the url that is returned with the login (https://na1-api.salesforce.com/services/Soap/u/2.5).

Any ideas what the issue is?  Is it a problem with the namespace?

Sorry if the following does not appear formatted.

 

The Request (note: I modified the session string):

<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <SOAP-ENV:Header>
  <ns1:SessionHeader SOAP-ENV:mustUnderstand="0" xmlns:ns1="SoapService">
   <ns2:sessionId xmlns:ns2="urn:enterprise.soap.sforce.com">WrLj2MGF5bFg1Nm5b</ns2:sessionId>
  </ns1:SessionHeader>
 </SOAP-ENV:Header>
 <SOAP-ENV:Body>
  <update xmlns:ns="urn:enterprise.soap.sforce.com">
   <sObjects xsi:type="ns3:Contact" xmlns:ns3="urn:sobject.enterprise.soap.sforce.com">
    <ns3:Id>00330000002Uxn2</ns3:Id>
    <ns3:HasOptedOutOfEmail>true</ns3:HasOptedOutOfEmail>
   </sObjects>
  </update>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

The Response:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <soapenv:Fault>
   <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.NoService</faultcode>
   <faultstring>The AXIS engine could not find a target service to invoke! targetService is u/2.5</faultstring>
   <detail/>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

  • February 27, 2004
  • Like
  • 0

I am attempting to move sharing rules from one account to another, but when my code (in Java) runs, I get the following error:

Code: INVALID_FIELD_FOR_INSERT_UPDATE

Message: bad field names on insert/update call: AccountId

Here is my code (in Java using the code generated by Axis and our enterprise wsdl file, and using the 2.5 API):

- - - - -

    public SaveResult[] moveAccountSharingRules(ID po_share_id, ID po_to_account_id)
         throws RemoteException
    {  
         AccountShare updateAccountShare = new AccountShare();
         updateAccountShare.setId(po_share_id);
         updateAccountShare.setAccountId(po_to_account_id);
  
         SObject[] o_obj = new SObject[] { updateAccountShare };
  
         return go_conn.update(o_obj); 
    }

- - - - - -

Am I just not allowed to move sharing rules from one account to another?  Or is there some other possible reason?

FYI, I am doing this because a subset of our accounts were imported twice into Salesforce.com with separated sets of sharing rules that we now need combined, and duplicates removed.

 

 

Message Edited by Mauman on 12-19-2003 10:17 AM

  • December 19, 2003
  • Like
  • 0

It appears as though the 18 character format, with the 3 added character mask characters sometimes treat numbers as uppercase.  For example:

The conversion from 18 to 15 is no problem, because numbers don't get converted:

00G30000000CIFAEA2 <- Original 18 character ID
4 0 27 <- Last 3 characters converted to their integer values
001000000011011 <- Conversion Mask... note that the last 0 is marked as "uppercase"
00G30000000CiFA <- The conversion succeeds though because 0 converted to uppercase is still 0.

However the conversion from 15 to 18 doesn't exactly work the same way:

00G30000000CiFA <- 15 character (case sensative form)
001000000001011 <- Assuming that all numbers are already lowercase, the mask is different.
4 0 11 <- Thus the integer values are different.
00G30000000CIFAEAL <- And finally the 18 character form is different as well, at least for the last character in this example.

My questions are:

1. Shouldn't the numbers always be treated as "lowercase", in which case there is a bug on the salesforce.com side of the API?

2. Is 00G30000000CIFAEAL treated the same way as 00G30000000CIFAEA2 if those values are sent back?  Are they ever sent back as 18 characters in the new API (sorry, I'm still trying to learn the new API)?

 

  • December 18, 2003
  • Like
  • 0

Ok, I am now totally confused after reading some postings in the SForce Community.

 

Are the current version numbers correct:

1. sforce is version 2.0

2. The API is version 2.5

3. All of the samples and toolkits at http://www.sforce.com/us/resources/toolkits-samples.jsp are version 2.5

 

If this is OR is not correct, please let me know!  Thanks!!!

 

 

  • December 11, 2003
  • Like
  • 0

Hi!  I'm new to SalesForce so pardon me if this is redundant.

1. From the documentation it is my understanding that deleting an object through the Salesforce API "is analogous to the DELETE statement in SQL", but in truth it appears that it moves the object to the "Recycling Bin".  Correct?

2. Also  "the delete call supports cascading deletions", so if I delete an Account, then all of the Contacts under that Account will be deleted also, correct? 

Just as a side note, if #2 is correct, then should I be able to delete a Contact, then delete its Account, and then undelete the Contact through the browser interface?  Wouldn't the contact be deleted when the bin is emptied?  Perhaps child objects shouldn't appear on the Recycling Bin page, if the parent object is in there (I know... easier said than done).

 

  • November 17, 2003
  • Like
  • 0
Once a custom tab is added, is there any way to change the permissions on who can see it?
  • April 22, 2005
  • Like
  • 0
Is there a way to have a web link (say on the Opportunity), switch to a Custom Tab, without popping a new window AND without having a set of nested tabs (2 sets appearing)?
  • April 22, 2005
  • Like
  • 0

I was 'rolling' my own SOAP messages (for use in .asp pages).  However I noticed today that the format in which data is returned as suddenly changed (see parts in bold)!

Old Format:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <queryResponse xmlns="urn:partner.soap.sforce.com">
   <result>
    <done>true</done>
    <queryLocator xsi:nil="true"/>
    <records>
     <ns1:type xmlns:ns1="urn:sobject.partner.soap.sforce.com">Lead</ns1:type>
     <ns2:Id xmlns:ns2="urn:sobject.partner.soap.sforce.com">LEADIDHERE</ns2:Id>
    </records>
    <records>
     <ns3:type xmlns:ns3="urn:sobject.partner.soap.sforce.com">Lead</ns3:type>
     <ns4:Id xmlns:ns4="urn:sobject.partner.soap.sforce.com">2NDLEADIDHERE</ns4:Id>
    </records>

    <size>2</size>
   </result>
  </queryResponse>
 </soapenv:Body>
</soapenv:Envelope>

New Format:

<SOAPENV:ENVELOPE XMLNS:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" XMLNS:XSD="http://www.w3.org/2001/XMLSchema" XMLNS:XSI="http://www.w3.org/2001/XMLSchema-instance">
    <SOAPENV:BODY>
        <QUERYRESPONSE XMLNS="urn:partner.soap.sforce.com">
            <RESULT>
                <DONE>true</DONE>
                <QUERYLOCATOR XSI:NIL="true"></QUERYLOCATOR>

                <RECORDS XMLNS:SF="urn:sobject.partner.soap.sforce.com" XSI:TYPE="sf:sObject">
                    <SF:TYPE>Lead</SF:TYPE>
                    <SF:ID>LEADIDHERE</SF:ID>
                </RECORDS>
                <RECORDS XMLNS:SF="urn:sobject.partner.soap.sforce.com" XSI:TYPE="sf:sObject">
                    <SF:TYPE>Lead</SF:TYPE>
                    <SF:ID>2NDLEADIDHERE</SF:ID>
                </RECORDS>

                <SIZE>2</SIZE>
            </RESULT>
        </QUERYRESPONSE>
    </SOAPENV:BODY>
</SOAPENV:ENVELOPE>

I'm assuming this is part of the Spring '04 release.  Is there a way that I can use an older version (perhaps specify the version in the request message)?  Or will I need to update my processing everytime that a change is made on Salesforce.com???

  • April 12, 2004
  • Like
  • 0

It appears that I am no longer able to insert into the CampaignMember entity.  I get the following error:

Error Code: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
Error Message: entity type cannot be inserted

In December I tracked what I could and could not do via a script:

2003.12.29 16:15:08+0734: Metadata for CampaignMember object:

2003.12.29 16:15:08+0734: Object name                       = CampaignMember
2003.12.29 16:15:08+0734: Number of fields                  = 11
2003.12.29 16:15:08+0734: Object can be activated           = false
2003.12.29 16:15:08+0734: Can create rows of data           = true
2003.12.29 16:15:08+0734: Object is custom object           = false
2003.12.29 16:15:08+0734: Can delete rows of data           = true
2003.12.29 16:15:08+0734: Can query for rows of data        = true
2003.12.29 16:15:08+0734: Object can be used in replication = false
2003.12.29 16:15:08+0734: Can use retrieve method on object = true
2003.12.29 16:15:08+0734: Can use search method on object   = false
2003.12.29 16:15:08+0734: Can un-delete rows of data        = false
2003.12.29 16:15:08+0734: Can update rows of data           = false

When I just re-ran the script, it appears I cannot create or delete rows anymore:

2004.04.01 16:39:58+0359: Metadata for CampaignMember object:

2004.04.01 16:39:58+0359: Object name                       = CampaignMember
2004.04.01 16:39:58+0359: Number of fields                  = 11
2004.04.01 16:39:58+0359: Object can be activated           = false
2004.04.01 16:39:58+0359: Can create rows of data           = false
2004.04.01 16:39:58+0359: Object is custom object           = false
2004.04.01 16:39:58+0359: Can delete rows of data           = false
2004.04.01 16:39:58+0359: Can query for rows of data        = true
2004.04.01 16:39:58+0359: Object can be used in replication = false
2004.04.01 16:39:58+0375: Can use retrieve method on object = true
2004.04.01 16:39:58+0375: Can use search method on object   = false
2004.04.01 16:39:58+0375: Can un-delete rows of data        = false
2004.04.01 16:39:58+0375: Can update rows of data           = false

Any ideas what might have changed??? 

This is imperitive so I can associate leads I import to campaigns.

  • April 01, 2004
  • Like
  • 0

I'm trying to 'roll my own' SOAP messages in order to 'opt-out' contacts from one of our ASP pages on our website.  I can login alright, but then when I try sending the update, I get back "The AXIS engine could not find a target service to invoke! targetService is u/2.5".  I am sending this message the url that is returned with the login (https://na1-api.salesforce.com/services/Soap/u/2.5).

Any ideas what the issue is?  Is it a problem with the namespace?

Sorry if the following does not appear formatted.

 

The Request (note: I modified the session string):

<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <SOAP-ENV:Header>
  <ns1:SessionHeader SOAP-ENV:mustUnderstand="0" xmlns:ns1="SoapService">
   <ns2:sessionId xmlns:ns2="urn:enterprise.soap.sforce.com">WrLj2MGF5bFg1Nm5b</ns2:sessionId>
  </ns1:SessionHeader>
 </SOAP-ENV:Header>
 <SOAP-ENV:Body>
  <update xmlns:ns="urn:enterprise.soap.sforce.com">
   <sObjects xsi:type="ns3:Contact" xmlns:ns3="urn:sobject.enterprise.soap.sforce.com">
    <ns3:Id>00330000002Uxn2</ns3:Id>
    <ns3:HasOptedOutOfEmail>true</ns3:HasOptedOutOfEmail>
   </sObjects>
  </update>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

The Response:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
  <soapenv:Fault>
   <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.NoService</faultcode>
   <faultstring>The AXIS engine could not find a target service to invoke! targetService is u/2.5</faultstring>
   <detail/>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

  • February 27, 2004
  • Like
  • 0

It appears as though the 18 character format, with the 3 added character mask characters sometimes treat numbers as uppercase.  For example:

The conversion from 18 to 15 is no problem, because numbers don't get converted:

00G30000000CIFAEA2 <- Original 18 character ID
4 0 27 <- Last 3 characters converted to their integer values
001000000011011 <- Conversion Mask... note that the last 0 is marked as "uppercase"
00G30000000CiFA <- The conversion succeeds though because 0 converted to uppercase is still 0.

However the conversion from 15 to 18 doesn't exactly work the same way:

00G30000000CiFA <- 15 character (case sensative form)
001000000001011 <- Assuming that all numbers are already lowercase, the mask is different.
4 0 11 <- Thus the integer values are different.
00G30000000CIFAEAL <- And finally the 18 character form is different as well, at least for the last character in this example.

My questions are:

1. Shouldn't the numbers always be treated as "lowercase", in which case there is a bug on the salesforce.com side of the API?

2. Is 00G30000000CIFAEAL treated the same way as 00G30000000CIFAEA2 if those values are sent back?  Are they ever sent back as 18 characters in the new API (sorry, I'm still trying to learn the new API)?

 

  • December 18, 2003
  • Like
  • 0

Hi,

    Is there way to iterate through the fields of Object returned through the QueryResult and get the name/value of the fields.

 Currently the only way I could see is to get to the fields is the get set methods  for that particular field. Which implies that I need to know what fields are there in the returned object, which is file if I am writing the query in the code and I know what fields will be returned. But if I am makinga tool to allow a user to specifiy the query and the tool generates an XML out of the returned objects then a generic method to loop through the fields will be very helpful. I think the previous API since every thing was loaded in a hash map, therefore it was much easier to do what I am trying to do.

Thanks

fruser

  • December 15, 2003
  • Like
  • 0

Hello

When adding a task in SalesForce it is possible to send an email notification. Is that feature also available through the API?

Best regards

/H Nilsson
Ki Consulting