You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2010/09/29 09:51:40 UTC

[jira] Commented: (CAMEL-3176) Cannot get response data when set sync= true option

    [ https://issues.apache.org/activemq/browse/CAMEL-3176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62216#action_62216 ] 

Claus Ibsen commented on CAMEL-3176:
------------------------------------

Please use the mailing list for help and check unit tests in camel-mina for examples.

And when using textline encoding you have to use \n to denote the end of the textline, hence why its called textline.
And look at Apache Mina as well for examples with their textline encoder.

> Cannot get response data when set sync= true option
> ---------------------------------------------------
>
>                 Key: CAMEL-3176
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3176
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-mina
>    Affects Versions: 2.4.0
>         Environment: Camel2.4.0+Mina1.1.7
> Tomcat 6.0
> PC Server
>            Reporter: maozuoyun
>
> I use camel-mina for app-client  to corresponding  to a TCP Server in IN-OUT way, it can send request message to server,but Cannot get response data from server. It printed "No response received from remote server" 。
> Endpoint configuration url=mina:tcp://172.22.1.128:9998?encoding=GBK&disconnect=true&timeout=30000&lazySessionCreation=true&textline=true&sync=true
> Where does wrong with my code?
> Below are app logs:
> 2010-09-29 15:10:06,721 [Error][CI20100929151002034994]Error ServiceRouteProcessor.dispatchServiceError adapt:No response received from remote server: mina:tcp://172.22.1.128:9998?encoding=GBK&disconnect=true&timeout=30000&lazySessionCreation=true&textline=true&sync=true. Exchange[Message: [B@c08534]
> com.whbcn.channels.cai.exception.CAIException: Error adapt:No response received from remote server: mina:tcp://172.22.1.128:9998?encoding=GBK&disconnect=true&timeout=30000&lazySessionCreation=true&textline=true&sync=true. Exchange[Message: [B@c08534]
> 	at com.whbcn.channels.cai.adapter.AbstractAdapter.adapt(AbstractAdapter.java:76)
> 	at com.whbcn.channels.cai.platform.processor.ServiceRouteProcessor.dispatchService(ServiceRouteProcessor.java:67)
> 	at com.whbcn.channels.cai.platform.route.RouterManager.routeMessage(RouterManager.java:49)
> 	at com.whbcn.channels.cai.platform.ServiceFacade.sendRequest(ServiceFacade.java:45)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:260)
> 	at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:164)
> 	at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:159)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
> 	at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:74)
> 	at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:95)
> 	at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:65)
> 	at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)
> 	at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)
> 	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:290)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
> 	at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:72)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:290)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
> 	at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:290)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:334)
> 	at org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:274)
> 	at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:179)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
> 	at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
> 	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
> 	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
> 	at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:97)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	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:243)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
> 	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
> 	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:423)
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:178)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.CamelExchangeException: No response received from remote server: mina:tcp://172.22.1.128:9998?encoding=GBK&disconnect=true&timeout=30000&lazySessionCreation=true&textline=true&sync=true. Exchange[Message: [B@c08534]
> 	at org.apache.camel.component.mina.MinaProducer.process(MinaProducer.java:132)
> 	at com.whbcn.channels.cai.adapter.AbstractAdapter.adapt(AbstractAdapter.java:64)
> 	... 121 more
> TCPServer.java:
> public class TcpServer {
> 	public static void main(String[] args) {
> 		TcpServer server = new TcpServer();
> 	}
> 	public TcpServer() {
> 		start();
> 	}
> 	private void start() {
> 		try {
> 			ServerSocket serverSocket = new ServerSocket(9998,1);
> 			while (true) {
> 				Socket socket = serverSocket.accept();
> 				Thread thread = new AcceptThread(socket);
> 			}
> 		} catch (Exception e) {
> 			e.printStackTrace();
> 		}
> 	}
> }
> class AcceptThread extends Thread {
> 	Socket socket = null;
> 	public AcceptThread(Socket socket) {
> 		this.socket = socket;
> 		start();
> 	}
> 	public void run() {
> 		try {
> 			InputStream inputStream = socket.getInputStream();
> 			
> 			byte[] reqBytes = new byte[1024*20];
> 			
> 			inputStream.read(reqBytes);
> 			
> 			System.out.println("receive bytes="+new String(reqBytes));
> 			
> 			OutputStream outputStream = socket.getOutputStream();
> 			outputStream.write("Hello!!@".getBytes());
> 			outputStream.flush();
> 			System.out.println("receive line!");
> 		} catch (Exception e) {
> 			e.printStackTrace();
> 		} finally {
> 			try {
> 				socket.close();
> 			} catch (Exception e) {
> 				e.printStackTrace();
> 			}
> 		}
> 	}
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.