[Pywps-devel] problem with ComplexData (missing data)

Jachym Cepicky jachym.cepicky at gmail.com
Fri Jan 23 11:30:28 CET 2009


hi,

in short: there was a BIG bug in the source code (or better: some code
was missing).


anway, it should be fixed now, in trunk as well as branches/pywps-3.0/
(rev. 725) - can you confirm, it's working now?

we definitively need new version o PyWPS now

thanks for this report - it was great to work with this input data,
you provided, the bug reproduction was as easy as possible

thanks

jachym

2009/1/22 Jorge de Jesus <jorge.de-jesus at jrc.it>:
> Hi could same one help me  ?!
>
> I have a request with ComplexValue (the att file)
> and a process like this:
> from pywps.Process.Process import WPSProcess
>
> class Process(WPSProcess):
>      def __init__(self):
>          # init process
>          WPSProcess.__init__(self,
>                              identifier="crossvalidationprocess", #the same
> as the file name
>                              title="K-fold CrossValidation Process",
>                              version = "0.1",
>                              storeSupported = "false",
>                              statusSupported = "false",
>                             abstract="foo",
>                             grassLocation =False)
>             #Process inputs
>          self.DataIn = self.addComplexInput(identifier="observations",
>                                                title = "Collection of
> observations to be used in CrossValidation",
>                                                abstract="Collection
> observations based on OM and GML schema. See example in documentation")
>
>
>      def execute(self):
>             None
>
> When submitting the request I get an exception:
> <wps:ProcessFailed>
> -
> <wps:ExceptionReport>
> <ows:Exception exceptionCode="MissingParameterValue"
> locator="observations"/>
> </wps:ExceptionReport>
> </wps:ProcessFailed>
>
> The XML observations get lost somewhere....
>
> In Execute.py  inside def consolidateInputs(self):  I can trace the data
> until here
>  try:
>                 for inp in self.wps.inputs["datainputs"]:
>
> where inp is:
> {'mimetype': '', 'encoding': '', 'value': u'<om:ObservationCollection
> x..............', 'identifier': u'observations', 'type': 'ComplexValue',
> 'schema': ''}
>
> But in the following check:
>  for identifier in self.process.inputs:
>             input = self.process.inputs[identifier]
>
>             if not input.value and input.minOccurs > 0:
>                 self.cleanEnv()
>                 raise self.wps.exceptions.MissingParameterValue(identifier)
>
> eveything is missing !!!!!
>
> I am in a tight schedule, and I am still a bit unfamiliar with all the WPS
> programming, Jachym could you give a look at this situation, I would be very
> thankfull ?! Is something wrong in the ComplexData or is just my XML that
> has some problem ?!
>
> Jorge
>
> --
> Ph.D. Jorge Samuel Mendes de Jesus
>
> European Commission (EC)
> Joint Research Centre Directorate (DG JRC)
> Institute for Environment and Sustainability (IES)
> TP 441, Via Fermi 1
> 21020 Ispra (VA)
> Italy
>
> Phone: +39 0332 78 3536
> Fax:   +39 0332 78 5466
>
> http://rem.jrc.ec.europa.eu
>
> "The views expressed are purely those of the writer and may not in any
> circumstances be regarded as stating an official position of the European
> Commission"
>



-- 
Jachym Cepicky
e-mail: jachym.cepicky gmail com
URL: http://les-ejk.cz
GPG: http://les-ejk.cz/pgp/JachymCepicky.pgp


More information about the Pywps-devel mailing list