Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Support for WSDL Faults (API WSDL & SDef/p)

stub

FCREPO-52: WSDL Should Declare Faults

Support http:urlEncoded

Supporting changes would need to be made to HttpOperationInOut and WSDLParser (to support the value) and DisseminationService.assembleDissemination (to build the URL).  This appears to be a less dramatic change than some others, and would offer a way to support multiple-value input parms without WSDL2 support.  Along with some of the other proposed features, a key component is probably refactoring DisseminationService into an interface, with supporting implementations for different operation types.

Deliver Composed WSDL for Object Disseminations

Variant on the ListMethodsServlet calls with xml=true.  Ideally, this would parse deployments rather than definitions.

WSDL-2 Support

Pros: Better language for multiple verbs; better support for serialization of multiply-valued parts into URLs for GET requests; multipart/form-data support; supported by Axis2

Cons: People kind of hate it; changed characters for value substitution mean patterns aren't backward compatible; questionable whether it's necessary for REST support

FCREPO-500: Writeable disseminators; REST support; POST support

stub

FCREPO-500

3. SOAP Support

There are two broad areas of SOAP suport that may be pursued: SDep binding to SOAP services, and SDef specification of SOAP services.

...

Allowing SDeps to bind to SOAP services allows a Fedora object to mask complex behaviors relying on datastream content and metadata with a relatively simple interface of UserInputParms.  It requires support for HTTP POST, and indicates a different context for the use of existing input parms.  Much of the scaffolding for SOAP bindings already exist in the codebase, with the significant exceptions of ServiceMapper (which takes no binding actions for SOAP services), DisseminationService (which always assumes http:urlReplacement), and DefaultExternalContentManager (which neglects SOAP, and only support http GET).

Message part definitions include types; would have to assume corresponding order

...

Potential problems: Support for xsd types is easy; support for complex or user-defined types is more difficult.  Need to specify some rules for attempted type conversion.

Support mime:multipartRelated

Necessary to support SOAP with attachments or MTOM

Allow SDefs to Specify SOAP Services

stubThe principal advantage is probably a follow-on to SDep SOAP binding: It would prevent the context object from being responsible for all data for a bound service.  It introduces an additional complication in having to translate the client input document into an appropriately formatted input for the bound service.

...

Proposal Outline

  1. Refinements in the scope of the Fedora 3.3 Service Mapping
    1. Tweaking the ServiceMapper class
      1. More robust port-to-method binding
      2. Define and Implement a pluggable interface
      3. FCREPO 619: ServiceDeployment WSDL cannot specify relative URIs in http:address
    2. More input parm binding options
      1. bind to DC element
      2. bind to object of RDF triple
      3. bind to a system or environment property
    3. Improving documentation and validation
      1. Documenting the role and relationship of similar structures in SDef/SDep
      2. A trouble-shooting/analysis tool to identify problems (perhaps part of an EZService bundle)
  2. WSDL Descriptions: Front-end and back-end
    1. WSDL 2 support
    2. Delivery of composed WSDL for clients at service endpoints
    3. FCREPO-52: WSDL Should Declare Faults 
    4. FCREPO-500 ; writeable disseminators, REST-as-service, POST support for (hopefully) idempotent services?
  3. FCREPO-16: SDeps with SOAP Bindings
    1. Back-end with Datastreams (SOAPInputParm? DSInputParm@passBy='VALUE'?)
    2. Front-end as service (follow-on to FCREPO-500?)

...