Bob Courchaine wrote:
Nevin Pratt wrote:
I want to retrieve that response, via the URL, totally inside of Squeak, without dealing with files. It's that simple.
?
I thought your issue was w/ a client you were trying to use, like Celeste.
In a Workspace, Inspect "<your long URL> asUrl retrieveContents".
A MIMEDocument is returned. Look at the "Contents" and you'll see your error message.
But that's the original, wrong, error message. The problem is that your request is not properly URL-encoded. The easiest way to achieve this (which is also much easier to use programmatically given an XML request string) looks like this:
HTTPSocket httpGetDocument: 'http://testing.shippingapis.com/ShippingAPITest.dll' args: ({'API' -> #('Verify'). 'XML' -> #('<AddressValidateRequest ><Address ID="0"><Address1></Address1><Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State><Zip5></Zip5><Zip4></Zip4></Address></AddressValidateRequest>') } as: Dictionary) accept: 'text/xml'
Note that the dictionary values must be arrays of strings, not simple strings. This is a little awkward, but it's how the class is implemented. I've tested it, it works.
Cheers, Hans-Martin