Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 582415
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T14:41:03+00:00 2026-05-13T14:41:03+00:00

I see APIs such as PayPal, etc. offering to call their services using NVP

  • 0

I see APIs such as PayPal, etc. offering to call their services using NVP or SOAP/WSDL. When using a .NET environment (3.5) using traditional web services (no WCF) which is better and why? I know WSDL lets you drop in the API URL and it generates the wrappers for you. So then why do companies even offer NVP?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T14:41:04+00:00Added an answer on May 13, 2026 at 2:41 pm

    There seems to be never-ending confusion in this industry about the different types of web services.

    SOAP is a messaging protocol. It has as much in common with REST as an apple has with a lawn tractor. Some of the things you want in a messaging protocol are:

    • Headers and other non-content “attributes.”
    • Addressing – routing of a message to different servers/recipients based on the headers;
    • Guaranteed delivery via queuing and other methods;
    • Encryption, signing, and other security features;
    • Transactions and orchestrations;
    • Accurate representation of complex structured data in a single message;

    …and so on. This is not an exhaustive list. What WSDL adds to SOAP, primarily, is:

    • Discoverability via a contract, a form of machine-readable “documentation” that tells consumers exactly what is required in order to send a message and allows proxies to be auto-generated;

    • Strict, automated schema validation of messages, the same way XSD works for XML.

    REST is not a messaging protocol. REST is a system of resources and actions. It is a solid choice for many architectures for several important reasons as outlined by other answers. It also has little to no relevance to “NVP” services like PayPal and flickr.

    PayPal’s NVP API is not REST. It is an alternative, RPC-like messaging protocol over HTTP POST for clients that don’t support or have difficulty supporting SOAP. This isn’t my opinion, it’s a statement of fact. One of the fields in the NVP is actually METHOD. This is clearly RPC verbiage. Take a look at their API for UpdateRecurringPaymentsProfile and try to tell me that this makes a lick of sense to describe as a “resource”. It’s not a resource, it’s an operation.

    In the case of PayPal specifically, the “NVP” (HTTP POST) API is inferior to the SOAP API in almost every way. It is there for consumers who can’t use SOAP. If you can use it, you definitely should.

    And I’m not necessarily bashing PayPal for this, either. I know a lot of folks have bashed them for not putting together a “proper” RESTful API but that is not what I am getting at. Not every service in the world can be accurately described with REST. PayPal isn’t really a resource-based system, it’s a transactional system, so I can forgive their architects and developers for not having a perfectly elegant REST architecture. It’s debatable perhaps, but it’s not black-and-white. It’s fine; I’ll just use the SOAP system if I need to.

    Compare this to, say, the Twitter API. This is a true REST service. Every “operation” you can perform on this API is accurately described as either the retrieval or submission of a particular kind of resource. A resource is a tweet, a status, a user. In this case it literally makes no sense to use a complex SOAP API because you’re not really sending messages, you’re not performing transactions, you’re just asking for specific things, and these things can be described with a single URL. The only difference is that instead of getting an HTML web page back, you’re getting some XML or JSON data; the way you request it is exactly the same.

    A REST Web Service usually (always?) uses HTTP GET for the retrieval of some resource. And Twitter does exactly this. GET still uses “Name-Value Pairs” – that’s the query string, ?q=twitterapi&show_user=true. Those bits after the ? are name-value pairs. And here’s a great example of why you would want to use REST over SOAP; you can hook this up to an RSS feed and get streaming updates. I can turn it into a Live Bookmark in Firefox. Or I can download it in JSON format and bind it to something like a jqGrid. The interesting thing is not that the request uses “Name-Value Pairs”; the interesting thing is that it’s a simple URL and can be consumed by anything that knows how to request a web page.

    So to try and summarize all of what I’ve said, think of it this way:

    • Use a REST API (if available) when you want to expose data, or consume or publish it, as a permanent resource.

    • Use a SOAP API when the system is transactional in nature and/or when you need the advanced features that a complex messaging protocol can offer, such as RM and addressing.

    • Use an RPC API (which includes just about any API that’s modeled entirely around HTTP POST) when there is no SOAP API or when you are unable to use the SOAP API.

    Hope that clears up some of the confusion.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There is one controversy I see in using Web APIs (RESTful service) to access
See here: http://jsfiddle.net/zYcJm/ The jQuery should be validating each field to check if they
see fiddle if patient has time slot alloted already then make color yellow using
I see that the IronRuby team has documented using ActiveRecord in IronRuby with MSSQL
I'm using Ruby's EventMachine library for accessing external RESTful APIs asynchronously from a Ruby
I see many Objective-C/Cocoa SDK apis where you can specify a target and an
As you can see in architecture diagram below android platform has been built using
I can see some of the benefits of closures, such as how they can
Do any of the AWS APIs/Services provide access to the product reviews for items
Solved: The problem was: wrong version of Java. See my comments. Hi all, using

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.