If you a remote SOAP service that is acting as a CAS Consumer, you have
to put it into your CPE pipeline wrapped inside an Aggregate Analysis
engine.   The aggregate can be a container of just one SOAP component
(or, if it makes logical sense in your flow - you can add it to the end
of perhaps some other aggregate you already have in your pipeline).

Does that answer your question, or did I miss something?

-Marshall

Baptiste GAILLARD wrote:
> Hi Marshall, thanks for your help,
>
> Can you clarify how you are trying to use a SOAP AE as a CAS Consumer in
>   
>> a CPE descriptor?
>>
>>     
>
> In fact I was just using the CPE gui tool, I specified in the "Analysis
> Engines" part a SOAP AE descriptor and in the "CAS Consumers" part the same
> SOAP AE descriptor, it works, no problem !
>
> Do you have in the CPE descriptor a <casProcessor ... > element for mode
>   
>> "integrated", which specifies a <descriptor> element which imports a
>> SOAP remote descriptor?
>>
>> If so, that is not supported by the current code - see section 3.6.1.1
>> where it says, for integrated CAS processors, the referenced descriptor
>> must be an Analysis Engine Descriptor.
>>     
>
>
> Yes, I was trying to do that:
>
> -- CpeDescriptor.xml --
> ...
> ...
> <casProcessors casPoolSize="3" processingUnitThreadCount="1">
>         ...
>         <casProcessor deployment="integrated" name="WordsFilePrinterSOAP">
>             <descriptor>
>                 <import location="WordsFilePrinterSoapService.xml"/>
>             </descriptor>
>             <deploymentParameters/>
>             <errorHandling>
>                 <errorRateThreshold action="terminate" value="0/1000"/>
>                 <maxConsecutiveRestarts action="terminate" value="30"/>
>                 <timeout max="100000" default="-1"/>
>             </errorHandling>
>             <checkpoint batch="10000" time="1000ms"/>
>         </casProcessor>
>        ....
> </casProcessors>
>
> -- WordsFilePrinterSoapService.xml --
> <uriSpecifier xmlns="http://uima.apache.org/resourceSpecifier";>
>     <resourceType>CasConsumer</resourceType>
>     <uri>http://localhost:8070/axis/services/urn:WordsFilePrinter</uri>
>     <protocol>SOAP</protocol>
> </uriSpecifier>
>
>
> If it's not allowed in UIMA for the moment it is normal if it does not work,
> ok ;-).
>
> But, I have only 3 deployment modes:
>
>   
>>    -
>>
>>    For *remote* CAS Processors, the referenced descriptor must be a
>>    Vinci *Service Client Descriptor*, which identifies a remotely
>>    deployed CAS Processor service.
>>    -
>>
>>    For *local* CAS Processors, the referenced descriptor must be a
>>    Vinci *Service Deployment Descriptor*.
>>    -
>>
>>    For *integrated* CAS Processors, the referenced descriptor must be
>>    an Analysis Engine Descriptor (primitive or aggregate).
>>
>> So the only solution to use a SOAP services is "integrated" deployment
>>     
> mode , ok.
> But I want to use a Cas Consumer SOAP service in my CPE descriptor, is it
> possible ? If not, what is the right thing to do (in the CPE decsriptor) to
> communicate with my remote SOAP Cas Consumers ?
>
> Thanks.
>
>
> Baptiste.
>
>
> 2007/12/3, Marshall Schor <[EMAIL PROTECTED]>:
>   
>> Hi Baptiste -
>>
>> Can you clarify how you are trying to use a SOAP AE as a CAS Consumer in
>> a CPE descriptor?
>>
>> Do you have in the CPE descriptor a <casProcessor ... > element for mode
>> "integrated", which specifies a <descriptor> element which imports a
>> SOAP remote descriptor?
>>
>> If so, that is not supported by the current code - see section 3.6.1.1
>> where it says, for integrated CAS processors, the referenced descriptor
>> must be an Analysis Engine Descriptor.
>>
>>
>> http://incubator.apache.org/uima/downloads/releaseDocs/2.2.0-incubating/docs/html/references/references.html#ugr.ref.xml.cpe_descriptor.descriptor.cas_processors.individual
>>
>> If you're doing something else, please let us know.
>>
>> Thanks. -Marshall
>>
>> Baptiste GAILLARD wrote:
>>     
>>> Yes, If I use one Analysis Engine and the same Analysis Engine instead
>>>       
>> of a
>>     
>>> CC the process completed successfully.
>>>
>>>
>>> 2007/12/3, Marshall Schor <[EMAIL PROTECTED]>:
>>>
>>>       
>>>> This appears it might be a bug.  Can you work around by using an
>>>> Analysis Engine instead of a Cas Consumer?
>>>>
>>>> -Marshall
>>>>
>>>> Baptiste GAILLARD wrote:
>>>>
>>>>         
>>>>> Ok, thanks,
>>>>>
>>>>> I've tried with a SOAP AE and a local integrated CAS Consumer, it
>>>>>           
>> works.
>>     
>>>>> But, If If use a SOAP AE an a SOAP Cas Consumer the following errors
>>>>>           
>> are
>>     
>>>>> displayed:
>>>>>
>>>>>
>>>>> org.apache.uima.resource.ResourceInitializationException:
>>>>>           
>> Initialization
>>     
>>>> of
>>>>
>>>>         
>>>>> CAS Processor with name "WordsFilePrinterSoapService.xml" failed.
>>>>>         at
>>>>>
>>>>>
>>>>>           
>> org.apache.uima.collection.impl.CollectionProcessingEngine_impl.initialize
>>     
>>>>> (CollectionProcessingEngine_impl.java:83)
>>>>>         at
>>>>>
>>>>>
>>>>>           
>> org.apache.uima.impl.UIMAFramework_impl._produceCollectionProcessingEngine
>>     
>>>>> (UIMAFramework_impl.java:395)
>>>>>         at
>>>>>
>>>>>           
>>>> org.apache.uima.UIMAFramework.produceCollectionProcessingEngine(
>>>>
>>>>         
>>>>> UIMAFramework.java:807)
>>>>>         at org.apache.uima.tools.cpm.CpmPanel.startProcessing(
>>>>>
>>>>>           
>>>> CpmPanel.java
>>>>
>>>>         
>>>>> :538)
>>>>>         at org.apache.uima.tools.cpm.CpmPanel.access$000(CpmPanel.java
>>>>>
>>>>>           
>>>> :96)
>>>>
>>>>         
>>>>>         at org.apache.uima.tools.cpm.CpmPanel$1.construct(
>>>>>           
>> CpmPanel.java
>>     
>>>> :678)
>>>>
>>>>         
>>>>>         at org.apache.uima.tools.util.gui.SwingWorker$2.run(
>>>>>
>>>>>           
>>>> SwingWorker.java
>>>>
>>>>         
>>>>> :130)
>>>>>         at java.lang.Thread.run(Thread.java:595)
>>>>> Caused by: org.apache.uima.resource.ResourceConfigurationException:
>>>>> Initialization of CAS Processor with name "
>>>>>
>>>>>           
>>>> WordsFilePrinterSoapService.xml"
>>>>
>>>>         
>>>>> failed.
>>>>>         at
>>>>>
>>>>>
>>>>>           
>> org.apache.uima.collection.impl.cpm.container.CPEFactory.produceIntegratedCasProcessor
>>     
>>>>> (CPEFactory.java:1107)
>>>>>         at
>>>>>
>>>>>
>>>>>           
>> org.apache.uima.collection.impl.cpm.container.CPEFactory.getCasProcessors(
>>     
>>>>> CPEFactory.java:550)
>>>>>         at org.apache.uima.collection.impl.cpm.BaseCPMImpl.init(
>>>>> BaseCPMImpl.java:253)
>>>>>         at org.apache.uima.collection.impl.cpm.BaseCPMImpl.<init>(
>>>>> BaseCPMImpl.java:127)
>>>>>         at
>>>>>
>>>>>
>>>>>           
>> org.apache.uima.collection.impl.CollectionProcessingEngine_impl.initialize
>>     
>>>>> (CollectionProcessingEngine_impl.java:75)
>>>>>         ... 7 more
>>>>> Caused by: org.apache.uima.resource.ResourceInitializationException:
>>>>>           
>> The
>>     
>>>>> Resource Factory does not know how to create a resource of class
>>>>> org.apache.uima.analysis_engine.AnalysisEngine from
>>>>> the given ResourceSpecifier. (Descriptor:
>>>>>
>>>>>
>>>>>           
>> file:/D:/workspace/imp-helper-uima/src/main/resources/descriptors/soap/WordsFilePrinterSoapService.xml)
>>     
>>>>>         at org.apache.uima.UIMAFramework.produceResource(
>>>>>
>>>>>           
>>>> UIMAFramework.java
>>>>
>>>>         
>>>>> :261)
>>>>>         at org.apache.uima.UIMAFramework.produceResource(
>>>>>
>>>>>           
>>>> UIMAFramework.java
>>>>
>>>>         
>>>>> :303)
>>>>>         at org.apache.uima.UIMAFramework.produceAnalysisEngine(
>>>>> UIMAFramework.java:383)
>>>>>         at
>>>>>
>>>>>
>>>>>           
>> org.apache.uima.collection.impl.cpm.container.CPEFactory.produceIntegratedCasProcessor
>>     
>>>>> (CPEFactory.java:1091)
>>>>>         ... 11 more
>>>>>
>>>>> So, it seams to work with SOAP AE but not SOAP CC.
>>>>>
>>>>>
>>>>> Baptiste.
>>>>>
>>>>>
>>>>> 2007/11/29, Adam Lally <[EMAIL PROTECTED]>:
>>>>>
>>>>>
>>>>>           
>>>>>> On Nov 29, 2007 10:37 AM, Baptiste GAILLARD <
>>>>>>
>>>>>>             
>>>> [EMAIL PROTECTED]>
>>>>
>>>>         
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>         <casProcessor deployment="remote"
>>>>>>> name="WordsListAnnotatorSoapService">
>>>>>>>             <descriptor>
>>>>>>>                 <include
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>> href="D:\workspace\imp-helper-uima\src\main\resources\descriptors\soap\WordsListAnnotatorSoapService.xml"/>
>>     
>>>>>>>             </descriptor>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>> <snip/>
>>>>>>
>>>>>> Use deployment="integrated" instead of deployment="remote".  I know
>>>>>> that's confusing.  Using deployment="integrated" will actually work
>>>>>> just fine for remote services.  deployment="remote" invokes some
>>>>>> specialized processing specifically for Vinci services, but is not
>>>>>> generally needed.
>>>>>>
>>>>>> -Adam
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>       
>>     
>
>   

Reply via email to