Yeah it is hard when a module is not supported - I tried to answer  
quickly so you would know there was not a module maintainer ready to  
leap into action and help you.

Can you you give me a test case or something showing the parsing  
error? I don't mind having a look at it with you to determine how  
difficult it would be to fix.

One small clue is that the exception is occurring in the BindingWalker  
- this is where the praser is walking through the xml schema provided  
and trying to make sure it knows how to deal with everything. In this  
case it has found something that it is either:
- not allowed by the specification; or
- the authors of the binding did not test for

So if we can get the document it is trying to parse we should be able  
to get a solid test case and fix or add a binding for LiteralData.

The WPS specification is a little whacked in that it it allows "open  
ended" literal data; so you may need to have bindings for the data  
being used in your configuration prior to parsing.  I am pretty sure  
gml geometry; basic xsd types and so on are configured "by default"  
for the wps parser -

With respect to other clients - I had some experience with the 52N  
client; it was using the geotools dom feature collection parser so a  
bit limited for size of data - but the code was pretty clear. It is  
worth taking a look at and seeing how they are doing these day.

Jody




On 11/09/2009, at 6:32 PM, Matthias Lendholt wrote:

> Hi Jody,
> thanks for your answer. That's a bit ... unfruitful for me. Since we  
> are using uDig and the included GeoTools library it will get our  
> project more complex working on GeoTools trunk and putting them both  
> together. Particulary we are already using the process API for  
> several tasks and this works fine: both in our client application  
> but also in the deegree3 WPS server. It seems that just GeoTools'  
> wps-client has this bug. I'll check how I can add the sources to my  
> IDE to debug it out of my uDig-based application. And then I have to  
> clarify internally if we can spend some resources to fix this  
> GeoTools functionality or if we have to switch to another WPS- 
> client. It's not up to me to decide this alone :-)
>
> Thanks again!
> Matthias
>
> Jody Garnett schrieb:
>> Hi Matthias; that project ended almost two years ago and did not have
>> enough funding to complete.
>> In the last couple of weeks Andrea has taken an interest in the
>> process API defined by that project and has recast it to allow set of
>> names (rather then just one). With that in mind I think the parsing
>> code may need to be updated before it is fit for use.
>> As for the specific parse error; we would welcome a contributor such
>> as yourself to look into the problem and supply a patch. Since the
>> module is unmaintained could actual adopt the module yourself.
>> Jody
>> On Thu, Sep 10, 2009 at 11:00 PM, Matthias Lendholt
>> <matthias.lendh...@gfz-potsdam.de> wrote:
>>> Dear list,
>>> I've created a convenience method to create WPSFactory in my  
>>> project:
>>>
>>> public static WPSFactory getWpsFactory(URL wpsUrl, String
>>> processName)throws ServiceException, IOException {
>>>  WebProcessingService wps = new WebProcessingService(wpsUrl);
>>>  DescribeProcessRequest descRequest =  
>>> wps.createDescribeProcessRequest();
>>>  descRequest.setIdentifier(processName);
>>>  DescribeProcessResponse descResponse = wps.issueRequest 
>>> (descRequest);
>>>  ProcessDescriptionsType processDesc = descResponse.getProcessDesc 
>>> ();
>>>  ProcessDescriptionType pdt = (ProcessDescriptionType)
>>> processDesc.getProcessDescription().get(0);
>>>  return new WPSFactory(pdt, wpsUrl);
>>> }
>>>
>>> The code is copied from http://docs.codehaus.org/display/GEOTDOC/WPS+Plugin
>>>
>>> Calling this method with a valid url (pointing to a local wps) an a
>>> processName results in row "DescribeProcessResponse descResponse =
>>> wps.issueRequest(descRequest);" in this exception:
>>>
>>> !MESSAGE FooBar: Parsing failed for LiteralData:
>>> java.lang.RuntimeException: Unable to set property: AllowedValues  
>>> for
>>> eobject: {http://www.opengis.net/wps/1.0.0}LiteralInputType
>>> !STACK 0
>>> java.lang.RuntimeException: Parsing failed for LiteralData:
>>> java.lang.RuntimeException: Unable to set property: AllowedValues  
>>> for
>>> eobject: {http://www.opengis.net/wps/1.0.0}LiteralInputType
>>>       at org.geotools.xml.impl.ParseExecutor.visit 
>>> (ParseExecutor.java:158)
>>>       at
>>> org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute 
>>> (BindingWalker.java:216)
>>>       at org.geotools.xml.impl.BindingWalker.walk 
>>> (BindingWalker.java:182)
>>>       at
>>> org.geotools.xml.impl.ElementHandlerImpl.endElement 
>>> (ElementHandlerImpl.java:222)
>>>       at org.geotools.xml.impl.ParserHandler.endElement 
>>> (ParserHandler.java:605)
>>>       at org.apache.xerces.parsers.AbstractSAXParser.endElement 
>>> (Unknown Source)
>>>       at
>>> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement 
>>> (Unknown
>>> Source)
>>>       at
>>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl 
>>> $FragmentContentDispatcher.dispatch(Unknown
>>> Source)
>>>       at
>>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument 
>>> (Unknown
>>> Source)
>>>       at org.apache.xerces.parsers.XML11Configuration.parse 
>>> (Unknown Source)
>>>       at org.apache.xerces.parsers.XML11Configuration.parse 
>>> (Unknown Source)
>>>       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>>       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown  
>>> Source)
>>>       at org.geotools.xml.Parser.parse(Parser.java:221)
>>>       at org.geotools.xml.Parser.parse(Parser.java:149)
>>>       at
>>> org.geotools.data.wps.response.DescribeProcessResponse.<init> 
>>> (DescribeProcessResponse.java:65)
>>>       at
>>> org.geotools.data.wps.WPS1_0_0 
>>> $InternalDescribeProcessRequest.createResponse(WPS1_0_0.java:133)
>>>       at
>>> org.geotools.data.ows.AbstractWPS.internalIssueRequest 
>>> (AbstractWPS.java:417)
>>>       at
>>> org.geotools.data.wps.WebProcessingService.issueRequest 
>>> (WebProcessingService.java:233)
>>>       at
>>> ..... 20 more in my code .....
>>>
>>>
>>> Caused by: java.lang.RuntimeException: Unable to set property:
>>> AllowedValues for eobject:
>>> {http://www.opengis.net/wps/1.0.0}LiteralInputType
>>>       at
>>> org.geotools.xml.AbstractComplexEMFBinding.setProperty 
>>> (AbstractComplexEMFBinding.java:284)
>>>       at
>>> org.geotools.xml.AbstractComplexEMFBinding.setProperties 
>>> (AbstractComplexEMFBinding.java:202)
>>>       at
>>> org.geotools.xml.AbstractComplexEMFBinding.parse 
>>> (AbstractComplexEMFBinding.java:143)
>>>       at org.geotools.xml.impl.ParseExecutor.visit 
>>> (ParseExecutor.java:149)
>>>       ... 50 more
>>> Caused by: java.lang.ClassCastException: java.lang.String cannot  
>>> be cast
>>> to net.opengis.ows11.AllowedValuesType
>>>       at
>>> net.opengis.wps10.impl.LiteralInputTypeImpl.eSet 
>>> (LiteralInputTypeImpl.java:303)
>>>       at
>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet 
>>> (BasicEObjectImpl.java:1073)
>>>       at org.geotools.xml.EMFUtils.set(EMFUtils.java:59)
>>>       at
>>> org.geotools.xml.AbstractComplexEMFBinding.setProperty 
>>> (AbstractComplexEMFBinding.java:232)
>>>       ... 53 more
>>>
>>>
>>> I'm using uDig 1.2M6 and the included GeoTools libraries. Any hints
>>> what's wrong? The processName is exactly matching the process  
>>> identifier
>>> of the GetCapabilites of the WPS.
>>>
>>> Thank you,
>>> Matthias
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Let Crystal Reports handle the reporting - Free Crystal Reports  
>>> 2008 30-Day
>>> trial. Simplify your report design, integration and deployment -  
>>> and focus on
>>> what you do best, core application coding. Discover what's new with
>>> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
>>> _______________________________________________
>>> Geotools-devel mailing list
>>> Geotools-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>>>
>
>
> -- 
> Matthias Lendholt [matthias.lendh...@gfz-potsdam.de]
> tel: +49 331 288 1687; fax: +49 331 288 1703
> Deutsches GeoForschungsZentrum (GFZ)
> Telegrafenberg A20; D14473 Potsdam; Germany


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to