SonicESB Process in Workspace but not in Sonic Domain

Posted by cwiseman on 08-May-2012 11:20

Using the workbench in Sonic v8.1.01.

Creating new ESB Processes in an existing Sonic project in the Workbench that already has several other ESB Processes.  The processes generally show up in the Sonic Domain to choose to add to ESB containers but these new ones (nothing new about creating them "File -> New -> ESB Process") are not showing up in the Sonic Domain and don't show up for selection in the "Processes" component in the Sonic Management Console either.

The Workbench is connected to the Sonic Domain because when the new ESB Processes are created, the endpoints offered are part of the Sonic Domain.  Why wouldn't the process get picked up in the Domain?  Thanks.

When specifying these new processes as the implementation process for a SonicConnect service, they can be found in the Workspace to be able to select, but not the Sonic Domain.  This causes this type of error in the execution of this operation in the SonicConnect Web Service:

WARNING: Interceptor for {http://www.namespacesite.com/projectextension/}project#{http://www.namespacesite.com/projectextension/}operationname has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Process/ProcessinQuestionProcess is not a valid ESB configuration
    at org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:124)
    at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:103)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:244)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
    at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311)
    at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:275)
    at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
    at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:637)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.IllegalArgumentException: Process/ProcessinQuestionProcess is not a valid ESB configuration
    at com.progress.sonic.esb.camel.SonicEsbURI.computeAddress(SonicEsbURI.java:45)
    at com.progress.sonic.esb.camel.SonicEsbURI.<init>(SonicEsbURI.java:21)
    at com.progress.sonic.esb.camel.SonicEsbProducer.process(SonicEsbProducer.java:44)
    at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:102)
    at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:100)
    at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
    at org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:99)
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:87)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
    at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
    at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
    at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
    at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:223)
    at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:153)
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:91)
    at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
    at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
    at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
    at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
    at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
    at com.progress.sonic.esb.camel.DirectSonicEsbProducer.process(DirectSonicEsbProducer.java:51)
    at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:102)
    at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:100)
    at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
    at org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:99)
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:87)
    at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
    at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
    at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
    at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:223)
    at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:153)
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:91)
    at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
    at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
    at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
    at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
    at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
    at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
    at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
    at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:223)
    at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:153)
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:91)
    at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
    at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:206)
    at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
    at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
    at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:98)
    ... 23 more

All Replies

Posted by cwiseman on 08-May-2012 13:18

I have not seen this behavior before.

Rather than create the new process in the Sonic Workbench, I used the Sonic Management Console to create it and the old funtionality of the Itinerary step to add the single Custom Service step inside the process(es) after the start steps.  It worked and the processes are now both in the "Processes" folders, but this is not a viable or comfortable workaround.  It can only be done because the Custom Service has a single step and one custom process in it.

The processes created in the Workbench are showing up in the workspace within the Domain, but not in the Domain as formal Domain level processes.

Posted by glucas on 08-May-2012 13:59

Processes and other ESB configurations need to be 'uploaded' from Workbench to the domain before they are available to invoke or deploy to a container.

You can upload individual artifacts or the entire project. There is a preference to automatically upload a process to the domain whenever you save, but this is disabled by default. More information is provided in the Workbench Help:

http://documentation.progress.com/infocenter/sonic/8.5/topic/com.sonicsw.doc/PLUGINS_ROOT/com.sonicsw.doc/Uploading.html

http://documentation.progress.com/infocenter/sonic/8.5/topic/com.sonicsw.tools.esbp.editor.doc/specifying_esb_process_preferences.html

--

Greg Lucas

Posted by cwiseman on 08-May-2012 15:05

Greg, thanks for the direct links and the insights.

This thread is closed