reps_client 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +8 -0
- data/.rspec +1 -0
- data/.rvmrc +2 -0
- data/Gemfile +4 -0
- data/README.md +62 -0
- data/Rakefile +14 -0
- data/lib/reps_client.rb +12 -0
- data/lib/reps_client/client.rb +95 -0
- data/lib/reps_client/community.rb +23 -0
- data/lib/reps_client/configuration.rb +83 -0
- data/lib/reps_client/errors.rb +36 -0
- data/lib/reps_client/lead.rb +291 -0
- data/lib/reps_client/pick_list.rb +62 -0
- data/lib/reps_client/version.rb +3 -0
- data/reps_client.gemspec +36 -0
- data/spec/fixtures/faults/client_fault.xml +28 -0
- data/spec/fixtures/faults/invalid_enterprise_key_fault.xml +25 -0
- data/spec/fixtures/faults/server_fault.xml +25 -0
- data/spec/fixtures/get_communities/multiple_communities.xml +59 -0
- data/spec/fixtures/get_communities/single_community.xml +54 -0
- data/spec/fixtures/get_pick_lists/full_pick_lists.xml +100 -0
- data/spec/fixtures/get_pick_lists/single_prefix.xml +70 -0
- data/spec/fixtures/get_pick_lists/single_relationship_type.xml +70 -0
- data/spec/fixtures/get_pick_lists/single_source.xml +71 -0
- data/spec/fixtures/get_pick_lists/single_suffix.xml +70 -0
- data/spec/reps_client/client_spec.rb +217 -0
- data/spec/reps_client/community_spec.rb +139 -0
- data/spec/reps_client/configuration_spec.rb +132 -0
- data/spec/reps_client/errors_spec.rb +56 -0
- data/spec/reps_client/lead_spec.rb +906 -0
- data/spec/reps_client/pick_list_spec.rb +320 -0
- data/spec/reps_client_spec.rb +11 -0
- data/spec/spec_helper.rb +21 -0
- data/spec/support/fault_handler_shared_examples.rb +51 -0
- data/spec/support/lead_shared_examples.rb +33 -0
- data/spec/support/pick_list_shared_examples.rb +16 -0
- metadata +259 -0
| @@ -0,0 +1,62 @@ | |
| 1 | 
            +
            require 'modelish/validations'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module RepsClient
         | 
| 4 | 
            +
              class Prefix < Modelish::Base
         | 
| 5 | 
            +
                property :prefix_id, :from => :user_list_idy, :type => Integer
         | 
| 6 | 
            +
                property :value, :from => :list_value, :type => String
         | 
| 7 | 
            +
              end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              class Suffix < Modelish::Base
         | 
| 10 | 
            +
                property :suffix_id, :from => :user_list_idy, :type => Integer
         | 
| 11 | 
            +
                property :value, :from => :list_value, :type => String
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              class RelationshipType < Modelish::Base
         | 
| 15 | 
            +
                property :relationship_type_id, :from => :relationship_type_idy, :type => Integer
         | 
| 16 | 
            +
                property :name, :from => :relationship_name, :type => String
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              class Source < Modelish::Base
         | 
| 20 | 
            +
                property :source_id, :from => :source_idy, :type => Integer
         | 
| 21 | 
            +
                property :code, :type => String
         | 
| 22 | 
            +
                property :description, :type => String
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              module PickListMethods
         | 
| 26 | 
            +
                include Modelish::Validations
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                # Retrieves "pick list values" for a particular community from the REPS service.
         | 
| 29 | 
            +
                # A pick list contains the possible values for an enumeration (e.g. the possible
         | 
| 30 | 
            +
                # choices from a drop-down list in a "Contact Us" form).
         | 
| 31 | 
            +
                # 
         | 
| 32 | 
            +
                # There are four types of pick lists:
         | 
| 33 | 
            +
                # * `:prefix` - Array<RepsClient::Prefix> values with name prefixes/salutations (e.g. "Ms.")
         | 
| 34 | 
            +
                # * `:suffix` - Array<RepsClient::Suffix> values with name suffixes (e.g. "Jr.")
         | 
| 35 | 
            +
                # * `:relationship_type` - Array<RepsClient::Suffix> values with relationship of contact
         | 
| 36 | 
            +
                #   to prospect
         | 
| 37 | 
            +
                # * `:source` - Array<rRepsClient::Source> values
         | 
| 38 | 
            +
                #
         | 
| 39 | 
            +
                # @param [Integer] community_id the REPS community id for a particular location
         | 
| 40 | 
            +
                # @return [Hash<Symbol,Array>] the map of pick list types to pick lists 
         | 
| 41 | 
            +
                def get_pick_lists(community_id)
         | 
| 42 | 
            +
                  PickListMethods.validate_required!(:community_id => community_id)
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  response = send_soap_request(:get_pick_lists, :community_id => community_id, :order! => [:enterprise_key,:community_id])
         | 
| 45 | 
            +
                  lists = response.to_hash[:get_pick_lists_response][:get_pick_lists_result][:diffgram][:pick_lists]
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  result = {}
         | 
| 48 | 
            +
                  [:prefix, :suffix, :relationship_type, :source].each do |k|
         | 
| 49 | 
            +
                    result[k] = process_pick_list(k, lists)
         | 
| 50 | 
            +
                  end
         | 
| 51 | 
            +
                
         | 
| 52 | 
            +
                  result
         | 
| 53 | 
            +
                end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                private
         | 
| 56 | 
            +
                def process_pick_list(pick_list_type, pick_lists)
         | 
| 57 | 
            +
                  flat_list = [pick_lists[pick_list_type] || []].flatten
         | 
| 58 | 
            +
                  class_name = pick_list_type.to_s.gsub(/(?:^|_)(.)/) { $1.upcase } # camelize
         | 
| 59 | 
            +
                  flat_list.collect { |p| RepsClient.const_get(class_name).new(p) }
         | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
              end
         | 
| 62 | 
            +
            end
         | 
    
        data/reps_client.gemspec
    ADDED
    
    | @@ -0,0 +1,36 @@ | |
| 1 | 
            +
            $:.push File.expand_path("../lib", __FILE__)
         | 
| 2 | 
            +
            require "reps_client/version"
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            Gem::Specification.new do |s|
         | 
| 5 | 
            +
              s.name        = "reps_client"
         | 
| 6 | 
            +
              s.version     = RepsClient::VERSION
         | 
| 7 | 
            +
              s.authors     = ["maeve"]
         | 
| 8 | 
            +
              s.email       = ["maeve.revels@g5platform.com"]
         | 
| 9 | 
            +
              s.homepage    = ""
         | 
| 10 | 
            +
              s.summary     = %q{Adapter for MDI Achieve REPS Leads}
         | 
| 11 | 
            +
              s.description = %q{A simple wrapper around a SOAP client for the MDI Achieve REPS Leads web service.}
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              s.rubyforge_project = "reps_client"
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              s.files = `git ls-files`.split("\n")
         | 
| 16 | 
            +
              s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              s.require_paths = ["lib"]
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              s.add_dependency('modelish', '>=0.1.3')
         | 
| 21 | 
            +
              s.add_dependency('configlet', '~>2.1')
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              s.add_dependency('savon', '~>0.9.7')
         | 
| 24 | 
            +
              s.add_development_dependency('savon_spec', '~>0.1')
         | 
| 25 | 
            +
             | 
| 26 | 
            +
              s.add_development_dependency('rspec', '~>2.6')
         | 
| 27 | 
            +
              s.add_development_dependency('webmock', '~>1.7')
         | 
| 28 | 
            +
              s.add_development_dependency('fakefs', '~>0.4')
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              s.add_development_dependency('yard', '~>0.7')
         | 
| 31 | 
            +
              s.add_development_dependency('rdiscount', '~>1.6')
         | 
| 32 | 
            +
             | 
| 33 | 
            +
              # specify dependencies here, for example:
         | 
| 34 | 
            +
              # s.add_development_dependency "cucumber"
         | 
| 35 | 
            +
              # s.add_runtime_dependency "rest-client"
         | 
| 36 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:eef7fe50-6ae5-413b-97af-6b4d17d7ac79</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:ae3fa71d-68a3-4b5a-827c-b077b8c83a6b</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-1c32331f-9e38-4eca-ac59-3f059f05b314">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-05T18:47:58Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-05T18:52:58Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <soap:Fault>
         | 
| 17 | 
            +
                  <faultcode>soap:Client</faultcode>
         | 
| 18 | 
            +
                  <faultstring>System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://www.mdiachieve.com/GetCommunitiesTest.
         | 
| 19 | 
            +
               at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
         | 
| 20 | 
            +
               at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)
         | 
| 21 | 
            +
               at Microsoft.Web.Services3.WseProtocol.RouteRequest(SoapServerMessage message)
         | 
| 22 | 
            +
               at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
         | 
| 23 | 
            +
               at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response)
         | 
| 24 | 
            +
               at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)</faultstring>
         | 
| 25 | 
            +
                  <detail/>
         | 
| 26 | 
            +
                </soap:Fault>
         | 
| 27 | 
            +
              </soap:Body>
         | 
| 28 | 
            +
            </soap:Envelope>
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:7cabc510-7ea8-4aa4-b2a9-a6a170109dbe</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:b3dbcf84-fbc1-4e79-a224-ffe09c819319</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-c5b9fc0b-3b8f-42af-b710-97db17870833">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-05T18:46:42Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-05T18:51:42Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <soap:Fault>
         | 
| 17 | 
            +
                  <faultcode>InvalidEnterpriseKey</faultcode>
         | 
| 18 | 
            +
                  <faultstring>System.Web.Services.Protocols.SoapException: Invalid Enterprise Key.
         | 
| 19 | 
            +
               at MDIAchieve.REPS.WebServices.Lead.GetDatabaseInfo(String enterpriseKey, String& databaseServer, String& database)
         | 
| 20 | 
            +
               at MDIAchieve.REPS.WebServices.Lead.GetConnectionString(String enterpriseKey)
         | 
| 21 | 
            +
               at MDIAchieve.REPS.WebServices.Lead.GetCommunities(String enterpriseKey)</faultstring>
         | 
| 22 | 
            +
                  <detail/>
         | 
| 23 | 
            +
                </soap:Fault>
         | 
| 24 | 
            +
              </soap:Body>
         | 
| 25 | 
            +
            </soap:Envelope>
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:d57782cc-08ff-41a2-9779-943ade868ac4</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:253837c5-9db6-47bb-bce6-473d2f91e291</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-266cd28f-8d9b-4df9-a8a9-faa6108102e0">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-24T19:35:26Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-24T19:40:26Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <soap:Fault>
         | 
| 17 | 
            +
                  <faultcode>soap:Server</faultcode>
         | 
| 18 | 
            +
                  <faultstring>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
         | 
| 19 | 
            +
               at MDIAchieve.REPS.WebServices.Lead.CheckRules(Contact c, Prospect p)
         | 
| 20 | 
            +
               at MDIAchieve.REPS.WebServices.Lead.SaveLead(String enterpriseKey, Int32 communityId, Contact newContact, Prospect newProspect)
         | 
| 21 | 
            +
               --- End of inner exception stack trace ---</faultstring>
         | 
| 22 | 
            +
                  <detail/>
         | 
| 23 | 
            +
                </soap:Fault>
         | 
| 24 | 
            +
              </soap:Body>
         | 
| 25 | 
            +
            </soap:Envelope>
         | 
| @@ -0,0 +1,59 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://www.mdiachieve.com/GetCommunitiesResponse</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:83465de3-8df4-4a8e-842c-e43a5130a104</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:5ba1d76d-b011-49a9-942a-44dfffd32c5c</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-77445321-8987-481b-809f-ce5b9bfe16f5">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-05T18:43:05Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-05T18:48:05Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <GetCommunitiesResponse xmlns="http://www.mdiachieve.com/">
         | 
| 17 | 
            +
                  <GetCommunitiesResult>
         | 
| 18 | 
            +
                    <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
         | 
| 19 | 
            +
                      <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Community" msdata:Locale="en-US">
         | 
| 20 | 
            +
                        <xs:complexType>
         | 
| 21 | 
            +
                          <xs:choice minOccurs="0" maxOccurs="unbounded">
         | 
| 22 | 
            +
                            <xs:element name="Community" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 23 | 
            +
                              <xs:complexType>
         | 
| 24 | 
            +
                                <xs:sequence>
         | 
| 25 | 
            +
                                  <xs:element name="CommunityIDY" type="xs:int" minOccurs="0"/>
         | 
| 26 | 
            +
                                  <xs:element name="Name" type="xs:string" minOccurs="0"/>
         | 
| 27 | 
            +
                                  <xs:element name="CommunityAddress1" type="xs:string" minOccurs="0"/>
         | 
| 28 | 
            +
                                  <xs:element name="CommunityAddress2" type="xs:string" minOccurs="0"/>
         | 
| 29 | 
            +
                                  <xs:element name="CommunityCity" type="xs:string" minOccurs="0"/>
         | 
| 30 | 
            +
                                  <xs:element name="CommunityState" type="xs:string" minOccurs="0"/>
         | 
| 31 | 
            +
                                  <xs:element name="CommunityZip" type="xs:string" minOccurs="0"/>
         | 
| 32 | 
            +
                                </xs:sequence>
         | 
| 33 | 
            +
                              </xs:complexType>
         | 
| 34 | 
            +
                            </xs:element>
         | 
| 35 | 
            +
                          </xs:choice>
         | 
| 36 | 
            +
                        </xs:complexType>
         | 
| 37 | 
            +
                      </xs:element>
         | 
| 38 | 
            +
                    </xs:schema>
         | 
| 39 | 
            +
                    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
         | 
| 40 | 
            +
                      <DocumentElement xmlns="">
         | 
| 41 | 
            +
                        <Community diffgr:id="Community1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 42 | 
            +
                          <CommunityIDY>7</CommunityIDY>
         | 
| 43 | 
            +
                          <Name>The Homestead at Babbling Brook</Name>
         | 
| 44 | 
            +
                        </Community>
         | 
| 45 | 
            +
                        <Community diffgr:id="Community6" msdata:rowOrder="8" diffgr:hasChanges="inserted">
         | 
| 46 | 
            +
                          <CommunityIDY>1</CommunityIDY>
         | 
| 47 | 
            +
                          <Name>The Gardens at Countryside Meadows</Name>
         | 
| 48 | 
            +
                          <CommunityAddress1>999 Prairie View Ln</CommunityAddress1>
         | 
| 49 | 
            +
                          <CommunityAddress2>Suite 42</CommunityAddress2>
         | 
| 50 | 
            +
                          <CommunityCity>Detroit</CommunityCity>
         | 
| 51 | 
            +
                          <CommunityState>MI</CommunityState>
         | 
| 52 | 
            +
                          <CommunityZip>11235</CommunityZip>
         | 
| 53 | 
            +
                        </Community>
         | 
| 54 | 
            +
                      </DocumentElement>
         | 
| 55 | 
            +
                    </diffgr:diffgram>
         | 
| 56 | 
            +
                  </GetCommunitiesResult>
         | 
| 57 | 
            +
                </GetCommunitiesResponse>
         | 
| 58 | 
            +
              </soap:Body>
         | 
| 59 | 
            +
            </soap:Envelope>
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://www.mdiachieve.com/GetCommunitiesResponse</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:83465de3-8df4-4a8e-842c-e43a5130a104</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:5ba1d76d-b011-49a9-942a-44dfffd32c5c</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-77445321-8987-481b-809f-ce5b9bfe16f5">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-05T18:43:05Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-05T18:48:05Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <GetCommunitiesResponse xmlns="http://www.mdiachieve.com/">
         | 
| 17 | 
            +
                  <GetCommunitiesResult>
         | 
| 18 | 
            +
                    <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
         | 
| 19 | 
            +
                      <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Community" msdata:Locale="en-US">
         | 
| 20 | 
            +
                        <xs:complexType>
         | 
| 21 | 
            +
                          <xs:choice minOccurs="0" maxOccurs="unbounded">
         | 
| 22 | 
            +
                            <xs:element name="Community" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 23 | 
            +
                              <xs:complexType>
         | 
| 24 | 
            +
                                <xs:sequence>
         | 
| 25 | 
            +
                                  <xs:element name="CommunityIDY" type="xs:int" minOccurs="0"/>
         | 
| 26 | 
            +
                                  <xs:element name="Name" type="xs:string" minOccurs="0"/>
         | 
| 27 | 
            +
                                  <xs:element name="CommunityAddress1" type="xs:string" minOccurs="0"/>
         | 
| 28 | 
            +
                                  <xs:element name="CommunityAddress2" type="xs:string" minOccurs="0"/>
         | 
| 29 | 
            +
                                  <xs:element name="CommunityCity" type="xs:string" minOccurs="0"/>
         | 
| 30 | 
            +
                                  <xs:element name="CommunityState" type="xs:string" minOccurs="0"/>
         | 
| 31 | 
            +
                                  <xs:element name="CommunityZip" type="xs:string" minOccurs="0"/>
         | 
| 32 | 
            +
                                </xs:sequence>
         | 
| 33 | 
            +
                              </xs:complexType>
         | 
| 34 | 
            +
                            </xs:element>
         | 
| 35 | 
            +
                          </xs:choice>
         | 
| 36 | 
            +
                        </xs:complexType>
         | 
| 37 | 
            +
                      </xs:element>
         | 
| 38 | 
            +
                    </xs:schema>
         | 
| 39 | 
            +
                    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
         | 
| 40 | 
            +
                      <DocumentElement xmlns="">
         | 
| 41 | 
            +
                        <Community diffgr:id="Community1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 42 | 
            +
                          <CommunityIDY>2</CommunityIDY>
         | 
| 43 | 
            +
                          <Name>Grouch Towers</Name>
         | 
| 44 | 
            +
                          <CommunityAddress1>123 Sesame St</CommunityAddress1>
         | 
| 45 | 
            +
                          <CommunityCity>New York</CommunityCity>
         | 
| 46 | 
            +
                          <CommunityState>NY</CommunityState>
         | 
| 47 | 
            +
                          <CommunityZip>12345</CommunityZip>
         | 
| 48 | 
            +
                        </Community>
         | 
| 49 | 
            +
                      </DocumentElement>
         | 
| 50 | 
            +
                    </diffgr:diffgram>
         | 
| 51 | 
            +
                  </GetCommunitiesResult>
         | 
| 52 | 
            +
                </GetCommunitiesResponse>
         | 
| 53 | 
            +
              </soap:Body>
         | 
| 54 | 
            +
            </soap:Envelope>
         | 
| @@ -0,0 +1,100 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://www.mdiachieve.com/GetPickListsResponse</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:cb9bfa9e-1ccf-4cbd-bcee-d6ede6c33356</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:30678ac1-b23c-4088-9688-4491f438f51a</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-c78ed006-c873-4052-8a40-672f10840366">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-10T05:06:08Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-10T05:11:08Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <GetPickListsResponse xmlns="http://www.mdiachieve.com/">
         | 
| 17 | 
            +
                  <GetPickListsResult>
         | 
| 18 | 
            +
                    <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="PickLists">
         | 
| 19 | 
            +
                      <xs:element name="PickLists" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
         | 
| 20 | 
            +
                        <xs:complexType>
         | 
| 21 | 
            +
                          <xs:choice minOccurs="0" maxOccurs="unbounded">
         | 
| 22 | 
            +
                            <xs:element name="Prefix" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 23 | 
            +
                              <xs:complexType>
         | 
| 24 | 
            +
                                <xs:sequence>
         | 
| 25 | 
            +
                                  <xs:element name="UserListIDY" type="xs:int" minOccurs="0"/>
         | 
| 26 | 
            +
                                  <xs:element name="ListValue" type="xs:string" minOccurs="0"/>
         | 
| 27 | 
            +
                                </xs:sequence>
         | 
| 28 | 
            +
                              </xs:complexType>
         | 
| 29 | 
            +
                            </xs:element>
         | 
| 30 | 
            +
                            <xs:element name="Suffix" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 31 | 
            +
                              <xs:complexType>
         | 
| 32 | 
            +
                                <xs:sequence>
         | 
| 33 | 
            +
                                  <xs:element name="UserListIDY" type="xs:int" minOccurs="0"/>
         | 
| 34 | 
            +
                                  <xs:element name="ListValue" type="xs:string" minOccurs="0"/>
         | 
| 35 | 
            +
                                </xs:sequence>
         | 
| 36 | 
            +
                              </xs:complexType>
         | 
| 37 | 
            +
                            </xs:element>
         | 
| 38 | 
            +
                            <xs:element name="RelationshipType" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 39 | 
            +
                              <xs:complexType>
         | 
| 40 | 
            +
                                <xs:sequence>
         | 
| 41 | 
            +
                                  <xs:element name="RelationshipTypeIDY" type="xs:int" minOccurs="0"/>
         | 
| 42 | 
            +
                                  <xs:element name="RelationshipName" type="xs:string" minOccurs="0"/>
         | 
| 43 | 
            +
                                </xs:sequence>
         | 
| 44 | 
            +
                              </xs:complexType>
         | 
| 45 | 
            +
                            </xs:element>
         | 
| 46 | 
            +
                            <xs:element name="Source" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 47 | 
            +
                              <xs:complexType>
         | 
| 48 | 
            +
                                <xs:sequence>
         | 
| 49 | 
            +
                                  <xs:element name="SourceIDY" type="xs:int" minOccurs="0"/>
         | 
| 50 | 
            +
                                  <xs:element name="Code" type="xs:string" minOccurs="0"/>
         | 
| 51 | 
            +
                                  <xs:element name="Description" type="xs:string" minOccurs="0"/>
         | 
| 52 | 
            +
                                </xs:sequence>
         | 
| 53 | 
            +
                              </xs:complexType>
         | 
| 54 | 
            +
                            </xs:element>
         | 
| 55 | 
            +
                          </xs:choice>
         | 
| 56 | 
            +
                        </xs:complexType>
         | 
| 57 | 
            +
                      </xs:element>
         | 
| 58 | 
            +
                    </xs:schema>
         | 
| 59 | 
            +
                    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
         | 
| 60 | 
            +
                      <PickLists xmlns="">
         | 
| 61 | 
            +
                        <Prefix diffgr:id="Prefix1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 62 | 
            +
                          <UserListIDY>222</UserListIDY>
         | 
| 63 | 
            +
                          <ListValue>Dr. And Mrs.                  </ListValue>
         | 
| 64 | 
            +
                        </Prefix>
         | 
| 65 | 
            +
                        <Prefix diffgr:id="Prefix2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
         | 
| 66 | 
            +
                          <UserListIDY>202</UserListIDY>
         | 
| 67 | 
            +
                          <ListValue>Mr. & Mrs.</ListValue>
         | 
| 68 | 
            +
                        </Prefix>
         | 
| 69 | 
            +
                        <Suffix diffgr:id="Suffix1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 70 | 
            +
                          <UserListIDY>90</UserListIDY>
         | 
| 71 | 
            +
                          <ListValue>III</ListValue>
         | 
| 72 | 
            +
                        </Suffix>
         | 
| 73 | 
            +
                        <Suffix diffgr:id="Suffix2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
         | 
| 74 | 
            +
                          <UserListIDY>36</UserListIDY>
         | 
| 75 | 
            +
                          <ListValue>Jr.</ListValue>
         | 
| 76 | 
            +
                        </Suffix>
         | 
| 77 | 
            +
                        <RelationshipType diffgr:id="RelationshipType1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 78 | 
            +
                          <RelationshipTypeIDY>82</RelationshipTypeIDY>
         | 
| 79 | 
            +
                          <RelationshipName>Aunt                                              </RelationshipName>
         | 
| 80 | 
            +
                        </RelationshipType>
         | 
| 81 | 
            +
                        <RelationshipType diffgr:id="RelationshipType2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
         | 
| 82 | 
            +
                          <RelationshipTypeIDY>91</RelationshipTypeIDY>
         | 
| 83 | 
            +
                          <RelationshipName>Not specified</RelationshipName>
         | 
| 84 | 
            +
                        </RelationshipType>
         | 
| 85 | 
            +
                        <Source diffgr:id="Source1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 86 | 
            +
                          <SourceIDY>251</SourceIDY>
         | 
| 87 | 
            +
                          <Code>DM</Code>
         | 
| 88 | 
            +
                          <Description>Direct Mail</Description>
         | 
| 89 | 
            +
                        </Source>
         | 
| 90 | 
            +
                        <Source diffgr:id="Source2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
         | 
| 91 | 
            +
                          <SourceIDY>713</SourceIDY>
         | 
| 92 | 
            +
                          <Code>Press & Sun Bulletin</Code>
         | 
| 93 | 
            +
                          <Description>Pleasant Surprises</Description>
         | 
| 94 | 
            +
                        </Source>
         | 
| 95 | 
            +
                      </PickLists>
         | 
| 96 | 
            +
                    </diffgr:diffgram>
         | 
| 97 | 
            +
                  </GetPickListsResult>
         | 
| 98 | 
            +
                </GetPickListsResponse>
         | 
| 99 | 
            +
              </soap:Body>
         | 
| 100 | 
            +
            </soap:Envelope>
         | 
| @@ -0,0 +1,70 @@ | |
| 1 | 
            +
            <?xml version="1.0" encoding="UTF-8"?>
         | 
| 2 | 
            +
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         | 
| 3 | 
            +
              <soap:Header>
         | 
| 4 | 
            +
                <wsa:Action>http://www.mdiachieve.com/GetPickListsResponse</wsa:Action>
         | 
| 5 | 
            +
                <wsa:MessageID>urn:uuid:cb9bfa9e-1ccf-4cbd-bcee-d6ede6c33356</wsa:MessageID>
         | 
| 6 | 
            +
                <wsa:RelatesTo>urn:uuid:30678ac1-b23c-4088-9688-4491f438f51a</wsa:RelatesTo>
         | 
| 7 | 
            +
                <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
         | 
| 8 | 
            +
                <wsse:Security>
         | 
| 9 | 
            +
                  <wsu:Timestamp wsu:Id="Timestamp-c78ed006-c873-4052-8a40-672f10840366">
         | 
| 10 | 
            +
                    <wsu:Created>2011-10-10T05:06:08Z</wsu:Created>
         | 
| 11 | 
            +
                    <wsu:Expires>2011-10-10T05:11:08Z</wsu:Expires>
         | 
| 12 | 
            +
                  </wsu:Timestamp>
         | 
| 13 | 
            +
                </wsse:Security>
         | 
| 14 | 
            +
              </soap:Header>
         | 
| 15 | 
            +
              <soap:Body>
         | 
| 16 | 
            +
                <GetPickListsResponse xmlns="http://www.mdiachieve.com/">
         | 
| 17 | 
            +
                  <GetPickListsResult>
         | 
| 18 | 
            +
                    <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="PickLists">
         | 
| 19 | 
            +
                      <xs:element name="PickLists" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
         | 
| 20 | 
            +
                        <xs:complexType>
         | 
| 21 | 
            +
                          <xs:choice minOccurs="0" maxOccurs="unbounded">
         | 
| 22 | 
            +
                            <xs:element name="Prefix" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 23 | 
            +
                              <xs:complexType>
         | 
| 24 | 
            +
                                <xs:sequence>
         | 
| 25 | 
            +
                                  <xs:element name="UserListIDY" type="xs:int" minOccurs="0"/>
         | 
| 26 | 
            +
                                  <xs:element name="ListValue" type="xs:string" minOccurs="0"/>
         | 
| 27 | 
            +
                                </xs:sequence>
         | 
| 28 | 
            +
                              </xs:complexType>
         | 
| 29 | 
            +
                            </xs:element>
         | 
| 30 | 
            +
                            <xs:element name="Suffix" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 31 | 
            +
                              <xs:complexType>
         | 
| 32 | 
            +
                                <xs:sequence>
         | 
| 33 | 
            +
                                  <xs:element name="UserListIDY" type="xs:int" minOccurs="0"/>
         | 
| 34 | 
            +
                                  <xs:element name="ListValue" type="xs:string" minOccurs="0"/>
         | 
| 35 | 
            +
                                </xs:sequence>
         | 
| 36 | 
            +
                              </xs:complexType>
         | 
| 37 | 
            +
                            </xs:element>
         | 
| 38 | 
            +
                            <xs:element name="RelationshipType" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 39 | 
            +
                              <xs:complexType>
         | 
| 40 | 
            +
                                <xs:sequence>
         | 
| 41 | 
            +
                                  <xs:element name="RelationshipTypeIDY" type="xs:int" minOccurs="0"/>
         | 
| 42 | 
            +
                                  <xs:element name="RelationshipName" type="xs:string" minOccurs="0"/>
         | 
| 43 | 
            +
                                </xs:sequence>
         | 
| 44 | 
            +
                              </xs:complexType>
         | 
| 45 | 
            +
                            </xs:element>
         | 
| 46 | 
            +
                            <xs:element name="Source" msdata:CaseSensitive="False" msdata:Locale="en-US">
         | 
| 47 | 
            +
                              <xs:complexType>
         | 
| 48 | 
            +
                                <xs:sequence>
         | 
| 49 | 
            +
                                  <xs:element name="SourceIDY" type="xs:int" minOccurs="0"/>
         | 
| 50 | 
            +
                                  <xs:element name="Code" type="xs:string" minOccurs="0"/>
         | 
| 51 | 
            +
                                  <xs:element name="Description" type="xs:string" minOccurs="0"/>
         | 
| 52 | 
            +
                                </xs:sequence>
         | 
| 53 | 
            +
                              </xs:complexType>
         | 
| 54 | 
            +
                            </xs:element>
         | 
| 55 | 
            +
                          </xs:choice>
         | 
| 56 | 
            +
                        </xs:complexType>
         | 
| 57 | 
            +
                      </xs:element>
         | 
| 58 | 
            +
                    </xs:schema>
         | 
| 59 | 
            +
                    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
         | 
| 60 | 
            +
                      <PickLists xmlns="">
         | 
| 61 | 
            +
                        <Prefix diffgr:id="Prefix1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
         | 
| 62 | 
            +
                          <UserListIDY>210</UserListIDY>
         | 
| 63 | 
            +
                          <ListValue>Attorney</ListValue>
         | 
| 64 | 
            +
                        </Prefix>
         | 
| 65 | 
            +
                      </PickLists>
         | 
| 66 | 
            +
                    </diffgr:diffgram>
         | 
| 67 | 
            +
                  </GetPickListsResult>
         | 
| 68 | 
            +
                </GetPickListsResponse>
         | 
| 69 | 
            +
              </soap:Body>
         | 
| 70 | 
            +
            </soap:Envelope>
         |