Adam Lally (JIRA) wrote:
[ https://issues.apache.org/jira/browse/UIMA-402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12494909 ]
Adam Lally commented on UIMA-402:
---------------------------------

Well, there are two issues - one trivial and the other not so trivial.

The first problem was that the MANIFEST.MF file for the org.apache.uima.runtime 
plugin listed uima_adapter_soap.jar instead of uima-adapter-soap.jar.  This is 
already fixed in svn.

With that fixed there is a different error - a ClassNotFound on a jax-rpc 
class.  The problem is that the CDE is trying to connect to the remote service 
to get its metadata (in order to display the merged type system) -- but it 
doesn't have the required Axis jar files that are necessary to make a SOAP 
call.  We don't ship those jar files with UIMA.

UIMA 2.0 didn't have this error because the particular method being used to get 
the merged type system 
(CasCreationUtils.mergeDelegateAnalysisEngineTypeSystems) didn't contact remote 
services, which wasn't generally the best behavior, but happened to work out in 
this case.

Maybe, CasCreationUtils.mergeDelegateAnalysisEngineTypeSystems needs another 
argument telling it whether to try to contact remote services or not?  
Marshall, any thoughts on this?

Basic thought: if the user of the CDE sets it up so the soap axis jars are available (is there a way to do that?), then things would work nicely. The CDE has several places where it attempts to get remote metadata. It is designed in such a way as to be able to proceed if the remote isn't available (e.g., it isn't started, or in this case, there are jar files missing).

Maybe the best thing would be to have mergeDelegateAnalysisEngineTypeSystems try to contact remote services, succeed where it can, and when it cannot, to skip just those that can't be contacted, for whatever reason (service isn't running, or JARs needed are missing). Of course, you would not want this behavior for actually running - so another argument might be needed to control this. And, the CDE would like to know if any remotes could not be contacted - I'm thinking it should pop up a warning message in this case, saying that the fully-merged type system may be missing some types.

-Marshall
Adding Remote SOAP AE to Aggregate in CDE causes validation error
-----------------------------------------------------------------

                Key: UIMA-402
                URL: https://issues.apache.org/jira/browse/UIMA-402
            Project: UIMA
         Issue Type: Bug
         Components: Eclipse plugins
   Affects Versions: 2.1
           Reporter: Adam Lally
            Fix For: 2.2


User bug report:
I came cross a problem with 
org.apache.uima.desceditor.2.1.0.incubating-hotfix-1 when porting my UIMA 
programs from the ibm 2.0.0 to apache uima.
To make an aggregate AE, I added a remote Soap AE service using the "Add 
Remote" function of the CDE, then I got error message:
"The Resource Factory foes not know how to create a resource of class 
org.apache.uima.resource.Resource from the given ResourceSpecifier. (Descriptor: 
file_path...)"
The descriptor passed is a very simple Soap service descriptor. And when I 
tried it with UIMA Document Analyzer tool, it worked well. Just the CDE keeps 
throwing this error message. It didn't happen either with the old CDE.


Reply via email to