I ended up specifying a valid (e.g. pointing to a datastream asserted  
by the content model) DSInputSpec.  I didn't see a way to specify a  
dummy one...
Anyway, sorry for the noise!  Happy new year,

-Elliot

On Dec 30, 2009, at 1:35 PM, Elliot Metsger wrote:

> Hi everyone,
>
> Is it possible to create a Service Deployment with an empty
> DSInputSpec?  I am working on implementing a SDep that only needs the
> PID of the requested object, so (afaik) I don't need to specify any
> DatastreamInputParms in the method map.  I'm using Fedora 3.2.1.
>
> I've tried specifying an empty DSInputSpec in the following ways:
>
> <fbs:DSInputSpec xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec
> " label="N/A"/>
>
> <fbs:DSInputSpec xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec
> " label="N/A">
>   <fbs:DSInput/>
> </fbs:DSInputSpec>
>
> Both result in exceptions being thrown.   What is the best strategy
> for this?  Create a full dummy DSInputSpec?
>
> This is the trace for the latter DSInputSpec example:
>
> fedora.server.errors.GeneralException: ServiceMapper returned error.
> The underlying error was a java.lang.NumberFormatException.  The
> message was "null"
>       at
> fedora.server.storage.service.ServiceMapper.parse(ServiceMapper.java:
> 192)
>       at
> fedora
> .server
> .storage.service.ServiceMapper.getDSInputSpec(ServiceMapper.java:130)
>       at
> fedora
> .server
> .storage
> .SimpleServiceDeploymentReader
> .getServiceDSInputSpec(SimpleServiceDeploymentReader.java:99)
>       at
> fedora
> .server
> .access.DefaultAccess.getDisseminationBindingInfo(DefaultAccess.java:
> 499)
>       at
> fedora 
> .server.access.DefaultAccess.getDissemination(DefaultAccess.java:
> 438)
>       at
> fedora
> .server
> .access.FedoraAccessServlet.getDissemination(FedoraAccessServlet.java:
> 742)
>       at
> fedora
> .server.access.FedoraAccessServlet.doGet(FedoraAccessServlet.java:449)
>
>
> In DefaultAccess. getDisseminationBindingInfo - starting line 449 - a
> null dsBindSpec is handled intelligently, but it appears that the code
> path for SimpleServiceDeploymentReader.getServiceDSInputSpec will
> never return null (it always throws an exception):
>
>         DeploymentDSBindSpec dsBindSpec =
>                 bmReader.getServiceDSInputSpec(versDateTime);
>         DeploymentDSBindRule[] dsBindRules =
>                 dsBindSpec.dsBindRules == null ? new
> DeploymentDSBindRule[0]
>                         : dsBindSpec.dsBindRules;
>
> Any help appreciated, thanks,
> Elliot
>
>
>
>


------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Fedora-commons-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers

Reply via email to