Archive for July, 2004

eBay WSDL Hacking

As part of my job, I’ve been playing around with eBay’s SOAP interface. My mission is to get PHP to play nicely with our SOAP server because right now we only have working examples in .NET and Java and that’s not a very good situation at all.

So far, it’s been tough going. We do quite a few, shall I say, odd things. For instance, we require you to override the location attribute within the service defined in our WSDL file. Right now, you can’t do that using the soap extension. I think the extension (or its author) expects you’d set the SOAPAction, but that’s not how we’re set up.

We also require you to define a SOAP Header that contains your authentication credentials. Apparently, there are licensing issues around the WS-Security standard.

As a result, I’ve been using the non-WSDL feature of SOAPClient, which requires me to use the ugly __call() method. Things are going slowly, but surely. I’ve managed to contruct the SOAP Header, but for some reason the SOAP Body isn’t being correctly generated.

Oh well. Looks like I know what I’ll be working on in the back of any slow going OSCON sessions.

Landed in Portland

I’ve arrived in Portland, and I’m getting excited about OSCON. David and Chris should make their ways into town later tonight, and the three of us are going to grab some food for dinner and maybe hit the Portland Beer Festival.

My tutorial isn’t until Tuesday, but I still need to add the pretty pictures to my slides and also whip up the slides to one of my Thursday talks, so there’s work for me yet.

Word from O’Reilly is that Upgrading to PHP 5 is arriving at OSCON straight from the printer, so I hope to see it tomorrow.

Why PHP 5 Rocks!

I have a new article up on the O’Reilly Network: Why PHP 5 Rocks!.

This piece covers all the reasons I’m very excited about PHP 5, and in particular lists my top seven favorite features. In short, they are:

  • Robust Support for OOP
  • Completely Rewritten MySQL Extension
  • A Suite of Interoperable XML Tools
  • An Embedded Database with SQLite
  • Cleaner Error Handling with Exceptions
  • A First-Class SOAP Implementation
  • Iterators

For more details, you’ll need to read the article. In a few weeks, I’ll try and run a companion piece, Why PHP 5 Sucks!, which will go ahead and attack all the points I made in my original article.

Am I schizophrenic? Maybe, but it sounds fun nevertheless. It also ties into my OSCON session Why PHP 5 Sucks! Why PHP 5 Rocks!, so it’s a good way for me to get moving on my slides.