require 'rubygems' require 'net/http' require 'uri' require 'open-uri' require 'digest/md5' class Data def Data.post(u,data) begin puts "Checking url #{u}" url = URI.parse u http = Net::HTTP.new(url.host, url.port) res, body = http.post(url.path, data, {'Content-type'=>'text/xml;charset=utf-8'}) case res when Net::HTTPSuccess, Net::HTTPRedirection puts "response #{res.body}" else puts "problem" end rescue URI::InvalidURIError puts "URI is no good" end end def Data.searchForCompany(companyName) user = "XMLGatewayTestUser" pass = "XMLGatewayTestPass" transactionId = rand(7) digest = Digest::MD5.hexdigest("#{user}#{pass}#{transactionId}") doc=" 1.0
NameSearch request #{transactionId} #{user} CHMD5 #{digest} libby@nicecupoftea.org
#{companyName} LIVE 20
" return doc end def Data.getCompanyDetails(companyNumber) user = "XMLGatewayTestUserID" pass = "XMLGatewayTestPassword" transactionId = rand(7) digest = Digest::MD5.hexdigest("#{user}#{pass}#{transactionId}") doc=" 1.0
CompanyDetails request #{transactionId} #{user} CHMD5 #{digest} libby@nicecupoftea.org
#{companyNumber} 1
" return doc end def Data.getCompanyAppointments(companyNumber, companyName) user = "XMLGatewayTestUserID" pass = "XMLGatewayTestPassword" transactionId = rand(7) digest = Digest::MD5.hexdigest("#{user}#{pass}#{transactionId}") doc=" 1.0
CompanyAppointments request #{transactionId} #{user} CHMD5 #{digest} libby@nicecupoftea.org
#{companyName} #{companyNumber} 1
" return doc end end url = "http://xmlgw.companieshouse.gov.uk/v1-0/xmlgw/Gateway" companyNumber="03176906" companyName="MILLENNIUM STADIUM PLC" ## 3 different options ## uncomment the one you want #xml = Data.searchForCompany("MILLENNIUM") #xml = Data.getCompanyDetails(companyNumber) xml = Data.getCompanyAppointments(companyNumber,companyName) Data.post(url,xml)