Global vs. per-profile WSDLs

When viewing search WSDLs, you have the option of requesting a WSDL specific to a single profile, or a global All Profiles WSDL, which can be used for any profile.

If you do not make use of Parametric Fields, then there will be no difference between per-profile and global WSDLs.

Both per-profile and global WSDLs refer to the same search interface. The same SOAP response is generated for both WSDLs. The only difference is in how specific the WSDLs are - per-profile WSDLs specify which Parametric Fields occur in the results, but the global WSDL must use <xsd:any> as a catch-all, as the Parametric Fields may change from one profile to another.

Which you use is a trade-off that you must decide on.

  • per-profile WSDLs

    • Advantage Parametric Fields for the profile are "hard-coded" in the WSDL itself, so a SOAP client consuming the WSDL can make better use of the Parametric Fields.

      For example, if your profile has Parametric Fields called price and location, then a per-profile WSDL will specify that each result contains <price> and <location> elements. WSDL tools can do things like declare response.price and response.location variables.

    • Disadvantage Because the per-profile WSDL is specific to that profile's Parametric Fields, a different WSDL must be used for every profile you want to interact with. If you're interacting with many different profiles (or it often changes), an global WSDL may be better suited.

  • Global WSDLs

    • Advantage The All Profiles wsdl can be used for any profile. This is better if your application needs to query multiple profiles, or if you don't work with Parametric Fields.

    • Disadvantage Parametric Fields are represented in the All Profiles WSDL with <xsd:any>, which allows it to not declare which Parametric Fields will occur in the XML (as it may change from one profile to another).

      This means that programs consuming the WSDL cannot know which Parametric Fields will be returned, and will instead do things like offer an array of Parametric Field XML elements that you must manually loop over to find the ones you want.


Copyright © Thunderstone Software     Last updated: Apr 18 2024
Copyright © 2024 Thunderstone Software LLC. All rights reserved.