Hey, I am hooking up with the USPS rate calculator so I can calculate shipping costs online. Unfortunately, USPS uses neither XML-RPC or SOAP. I send the data via a GET request (a long URL) and I get data back via xml. Questions: 1) Is there a library or something within the rails platform that allows me to send a get request? 2) Is there a library that allows me to parse the resulting XML data? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
> I am hooking up with the USPS rate calculator so I can calculate > shipping costs online. Unfortunately, USPS uses neither XML-RPC or > SOAP. I send the data via a GET request (a long URL) and I get data > back via xml. Questions: > 1) Is there a library or something within the rails platform that > allows me to send a get request? > 2) Is there a library that allows me to parse the resulting XML data?Never used it, but rexml maybe... http://www.germane-software.com/software/rexml_doc/ http://www.germane-software.com/software/rexml/docs/tutorial.html --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
On 10/4/06, Stever <steve-HiVQJmIVH4ivvaMlHRW6lQ@public.gmane.org> wrote:> > Hey, > > I am hooking up with the USPS rate calculator so I can calculate > shipping costs online. Unfortunately, USPS uses neither XML-RPC or > SOAP. I send the data via a GET request (a long URL) and I get data > back via xml. Questions: > 1) Is there a library or something within the rails platform that > allows me to send a get request? > 2) Is there a library that allows me to parse the resulting XML data?A POST works just fine with the USPS webtools api. It''s just not evident from the documentation. Just post the data like you would for a regular form post using application/x-www-form-urlencoded as the content type. Chris --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
If this is the case, do I use the "web services" functionality in rails? I can''t seem to find any documentation either on the USPS website or the internet for that matter. usps doesn''t even say if they''re using XML-RPC or SOAP (I think it''s neither). Can you at least point me in the right direction? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
On 10/4/06, Stever <steve-HiVQJmIVH4ivvaMlHRW6lQ@public.gmane.org> wrote:> > If this is the case, do I use the "web services" functionality in > rails? I can''t seem to find any documentation either on the USPS > website or the internet for that matter. usps doesn''t even say if > they''re using XML-RPC or SOAP (I think it''s neither).Use something like net/https to do the POST. The only strange thing is that while the content type is application/x-www-form-urlencoded, you don''t want to actually urlencode any of the data. Here is a page that shows how it''s done in perl. http://www.icdevgroup.org/docs/tags/usps-query.html --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Guys, I figured out a way to write a script to get the info I needed from USPS web tools. I used rexml and net/http plugins. I thought I would contribute code to this group because there doesn''t seem to be much support on the usps site for ruby. I searched online and couldn''t find any scripts either. Anyway, here you go: (PS, please don''t make fun of this code, I am new to ruby. However, this code seems to work for me). #! /usr/bin/ruby # ************************************************************ # The purpose of this script is to find out how much it costs # to send a package through USPS through a pre-defined # criteria # ************************************************************ # *** Define variables here *** userid = "577MODEL4495" service = "PRIORITY" zip_origination = "10022" zip_destination = "20008" pounds = "10" ounces = "5" container = "Flat Rate Box" box_size = "REGULAR" # Administrative require ''uri'' require ''net/http'' require "rexml/document" include REXML # Prepares the xml request for sending xml_request = <<END <RateV2Request USERID="#{userid}"> <Package ID="0"> <Service>#{service}</Service> <ZipOrigination>#{zip_origination}</ZipOrigination> <ZipDestination>#{zip_destination}</ZipDestination> <Pounds>#{pounds}</Pounds> <Ounces>#{ounces}</Ounces> <Container>#{container}</Container> <Size>#{box_size}</Size> </Package> </RateV2Request> END xml_request = xml_request.gsub(/[\t\r\n]/,'''') # Sends the xml request to USPS host = ''testing.shippingapis.com'' path = "/ShippingAPITest.dll?API=RateV2&XML=" + "#{URI.encode(xml_request)}" xml_response = Net::HTTP.get host, path # Parses the returned xml response parsed = Document.new xml_response puts parsed.elements[''//RateV2Response/Package/Postage/Rate''].text --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Also, is there someplace else I can post this code? There are a few sites that seem to be sites to store "code snippets". I forgot their names though. What are the more popular ones? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---