Soap web service client side implementation

44 views Asked by At

Is it the vendors responsibility to provide client side implementation code to utilize soap API? We have a soap web service, which one of our clients would like to start using. And they are expecting us to provide the client side code as well. Is this the standard practice, because the client side code, needs to communicate with their internal projects, and we do not have knowledge or access to any of those applications. Should we push back on this request? what’s the ideal way to handle the situation?

1

There are 1 answers

0
Bogdan On

There are two things here.

The first is what should be the responsibility of the service provider?

You provide:

  • the service itself.
  • a WSDL file.
  • documentation for how to use the service. The documentation might be a readable representation of the WSDL, maybe with some sample requests and responses and error messages. Maybe the documentation also showcases how you could build a client starting from the WSDL, in a language or framework your team is familiar with. Maybe some common questions and answers. Depends on you how much details you want to add. Having good documentation spares you the trouble of always answering the same questions that any new client may have when doing an integration.
  • any work needed on your side to support an integration with your service. Think here configurations, providing API keys for the client, maybe emitting a client security certificate if that's how you secure access for requests, etc.

You rarely build the clients for your customers, because as you said yourself, you cannot tie that into their applications. You might provide a client stub, but that's usually something clients can build by themselves for the language or framework they are using (which might be something your team does not have experience with).

And this gets us to the second thing, which is how do you want to manage the relationship with this customer? What effort will you put in versus what will be the return on investment for doing that? Let's take an example.

Say you are a payment processor offering this service for a small fee from each transaction that you process. You have then a huge retail store that wants to integrate your service for all of their card payments. We are talking tens of millions of dollars per day here. You will make a lot of money in fees, so it's in your interest to help them integrate, even if that means going beyond what you offer all clients. You might even help them write the client as much as your knowledge about their system allows you to.

Now compare this to a second client which is a small shop in a remote village. One shop that maybe brings in transactions of a few hundred dollars per day, simply because people in the remote area prefer to pay mostly with cash. Will you put in the same effort that you did for the huge retail store to support this second integration? Most likely not.

So provide the service and good documentation for it, to smooth out integrations, and go the extra mile only if you think it's worth it.