Paul's Dev Blog – iGonzo.net

Code not fit for human consumption.

Archive for the ‘commentary’ tag

IIS and multiple IPs

without comments

So it was that we had a site that was needing to pull in some XML data from a clients internal system. Not a huge deal, we do it all the time. The client needed to restrict the data to an IP address for security. Also not a problem, we do that quite regularly. But as it turned out, it was a problem. A small, annoying problem that the client caught onto.

You see, in an IIS server that has multiple IPs going to it, you can assign an IP to a site. This is what we did here; specifically set the site to respond to a certain IP. The client allowed an exception to that IP. But it still would pull in data.

Begin frustration.

After more than a day of fiddling around with setting, I asked the client to pull up the IP of the site we are working on. They did, and confirmed that the site was from that IP. But there was also something else. Another IP entry in their firewall logs. Turns out, that was one of our IPs.

Weird. So I asked the client to add exceptions to all the IPs running to our server. He did. And low and behold, the site is pulling in the data now.

Begin confusion.

The data grab is being done on the backend through an XML load. Apparently, the server decided to use whatever available channel to grab the data. In this instance, it was the first IP on the list. So it turns out that the IP we specifically set the site to respond to is just that, it responds to just that IP, and responds only. Getting data, however, is a different matter it seems, ad the site will use whatever available IP, regardless of what the site is set to respond to.

End confusion. End frustration.

I havent seen where to set IIS to only pipe data trough the IP we assign it, but at this point I am not really concerned about that. It works and for now, I will take that as a win.

So in the future, if you use IIS, be sure to allow exceptions for all IPs to the box when needing to get data from an external source. Save yourself the frustration. Then go have a beer.

Mmmm, beer. :)

Written by iGonzo

July 19th, 2011 at 12:42 pm

Authorize.net and Classic ASP

with 2 comments

You know, a lot of people are moving off to other, cooler programming languages. PHP, ASP.NET, Ruby, all of these are seen as superior to Classic ASP; at one time the greatest language to use for dynamic data driven sites.

More often than I care to admit, I get asked “Why don’t you do it in [insert current language here] to do that? It’s easier”. True, but I have been using ASP for 11 years and am quite good at it if I do say so myself. Besides, as long as it can process XML, I see little reason to change our entire code base. Which brings me to the actual crux of this post: Using Classic ASP with Authorize.net.

More specifically, you can use any programming language with the Authorize API as long as you can process XML. But since I use primarily Classic ASP, that is what we have to use.

Authorize, in their wisdom, has seen fit to provide examples of accessing their API. One of these examples includes an ASP version. At first I totally ignored these, assuming that they could not accomplish what the client needed (which is integration with the Authorize CIM system). And so I toiled for many an hour creating functions and testing. Eventually I came across a problem I could not bull my way through, so I humbled myself and looked at their example code.

My first reaction was, of course, chagrin. Their ASP examples were performing functions that I needed. Precisely what I needed. *urg*. So, over the next 20 minutes, I functionalized their examples, added in our data points, and low and behold I got a positive response without any errors. I even tried to create errors and still the data went through.

Begin head banging on desk.

So then, after my headache went away, I grabbed every code example they had and was able to add in a whole mess of features and functions that not only added robustness to the site, but some serious value for the client. The transmission functions I created are able to take any form of XML request and sent it to Authorize and get a response back. After a quick check my reply data is added to the database and its on to the next thing: which for the client is making money (businesses are funny that way).

The lesson here, trolls and girls, is to not scoff at API example code. We can all look at the PDF of how to form this or that request, and what to expect back in response, but seeing a bit of sample code execute without errors is, in my opinion, a very uplifting thing to experience.

Now, if I can just figure out how this FBML crap, I think I’ll be golden.

Cheers

Written by iGonzo

November 5th, 2010 at 1:34 pm

Mr. Anderson, welcome back.

without comments

Ah, I love the smell of a fresh WordPress install. Don’t you?

So after a seemingly interminable amount of  time, I finally got my dev blog going. I would like to thank my friends and family for keeping me so busy over the last few months. And for my old host (Media Temple) for constantly providing me with new and interesting errors in my server.

I made the switch to GoDaddy for my hosting needs mostly because they are stable and they are inexpensive. Its not the same as having my own server to play with, but then again, I don’t have to worry about breaking anything. On the whole, I’m calling it a win.

So this is where I plan to lay out my trials and errors (mostly errors) of my dev life. Code, comments, and an occasional comeuppance are what you can expect here. For my more liberal posts about everything else, go check out my other blog, paulsrants.com.

So stay tuned kids, its going to be a smooth ride to nowhere.

Cheers

Written by iGonzo

August 14th, 2010 at 9:27 pm

Posted in General Stuff

Tagged with ,