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