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
