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)