Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Service_Salesforce - Web Service Component Proposal

Proposed Component Name Zend_Service_Salesforce - Web Service
Developer Notes - Web Service
Proposers [Hunter Jensen]
Zend Liaison TBD
Revision 1.0 - 27 October 2009: Initial Draft. (wiki revision: 21)

Table of Contents

1. Overview

Zend_Service_Salesforce is a Zend Framework toolkit to utilize the Web Service provided by

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will implement all available API methods
  • This component will handle authentication.
  • This component will include a factory method.
  • This component will accept an array or Zend_Config object as construct parameter.
  • This component will use Zend_Soap_Client to wrap SOAP requests in WSDL mode.

4. Dependencies on Other Framework Components

  • Zend_Soap_Client
  • Zend_Loader
  • Zend_Config
  • Zend_Server

5. Theory of Operation

This component is used to call the web service. This will cover all API methods declared in the WSDL. This will work by instantiating a Zend_Service_Salesforce_Wsdl_SObject, assigning the parameters to that SObject, and passing that object as a parameter when creating the SOAP call.

6. Milestones / Tasks

  • Milestone 1:[DONE] Proposal will be published here
  • Milestone 2:[DONE] Receive and Respond to Feedback.
  • Milestone 3:[DONE] Online unit tests exist
  • Milestone 4:[DONE] Offline unit tests exist
  • Milestone 5:[IN PROGRESS] Documentation exists
  • Milestone 6: Code is checked into SVN
  • Milestone 7: Tests are checked into SVN

7. Class Index

  • Zend_Service_Exception
  • Zend_Service_SalesForce
  • Zend_Service_SalesForce_Client_ClientAbstract
  • Zend_Service_SalesForce_Client_ClientDataAbstract
  • Zend_Service_SalesForce_Client_Enterprise
  • Zend_Service_SalesForce_Client_Metadata
  • Zend_Service_SalesForce_Client_Partner
  • Zend_Service_SalesForce_Exception
  • Zend_Service_SalesForce_Header_AllowFieldTruncationHeader
  • Zend_Service_SalesForce_Header_AssignmentRuleHeader
  • Zend_Service_SalesForce_Header_CallOptions
  • Zend_Service_SalesForce_Header_DebuggingHeader
  • Zend_Service_SalesForce_Header_DebuggingInfo
  • Zend_Service_SalesForce_Header_EmailHeader
  • Zend_Service_SalesForce_Header_HeaderAbstract
  • Zend_Service_SalesForce_Header_LocaleOptions
  • Zend_Service_SalesForce_Header_LoginScopeHeader
  • Zend_Service_SalesForce_Header_MruHeader
  • Zend_Service_SalesForce_Header_PackageVersionHeader
  • Zend_Service_SalesForce_Header_QueryOptions
  • Zend_Service_SalesForce_Header_SessionHeader
  • Zend_Service_SalesForce_Header_UserTerritoryDeleteHeader
  • Zend_Service_SalesForce_Wsdl_Email
  • Zend_Service_SalesForce_Wsdl_MassEmailMessage
  • Zend_Service_SalesForce_Wsdl_ProcessRequestAbstract
  • Zend_Service_SalesForce_Wsdl_ProcessSubmitRequest
  • Zend_Service_SalesForce_Wsdl_ProcessWorkItemRequest
  • Zend_Service_SalesForce_Wsdl_QueryResult
  • Zend_Service_SalesForce_Wsdl_SingleEmailMessage
  • Zend_Service_SalesForce_Wsdl_SObject

8. Use Cases

UC-01 - AssignmentRuleHeader


UC-02 - CallOptions


UC-03 - ConvertLead
UC-04 - Create Contact
UC-05 - Delete Contact
UC-06 - UnDelete Contact
UC-07 - Describe Global
UC-08 - Describe Layout
UC-09 - Describe SObject
UC-10 - Email Header


UC-11 - Empty Recycle Bin
UC-12 - Fields To Null
UC-13 - Get Deleted
UC-14 - Get Server Timestamp
UC-15 - Get Updated
UC-16 - Get User Info
UC-17 - Invalidate Sessions
UC-18 - Login
UC-19 - Login Scope Header
UC-20 - Logout
UC-21 - Merge
UC-22 Process Submit Request
UC-23 Process Work Item Request
UC-24 Query
UC-25 Query More and Query Options
UC-26 Reset Password
UC-27 Retrieve
UC-28 Search
UC-29 Send Email
UC-30 Set Password
UC-31 Update
UC-32 Upsert
UC-33 Create Contact - ENTERPRISE

The Enterprise WSDL strictly defines all properties, allowing for direct assignment to the class.

9. Class Skeletons

Full code and documentation can be viewed at

Anonymous export from Subversion at

PHPUnit Code Coverage Report -



Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Feb 05, 2011

    <ac:macro ac:name="note"><ac:rich-text-body><p> The Community Review team recommends this proposal be accepted for inclusion in the Framework </p>

    <p>We do provide a small item of feedback here based on the code which we can see so far.<br />
    We would like to see the visibility of the methods and members of the classes reconsidered, as private is used widely, which would narrow the scope for extension. Also, we would like some of the method names to be reviewed, to be more consistent with the rest of the framework.</p></ac:rich-text-body></ac:macro>