jolie Unsupported communication medium: null -
i have problem jolie embedded ol , recursive. in example there calcultator.ol receive messagge "fibonacci" .. request dispatched fibonacci.ol embedded in calcolator.ol. first invoke ok .. next invocation (recursive in fibonacci.ol) fails messagge:
informazioni: [fibonacci.ol] jolie.net.unsupportedcommmediumexception: unsupported communication medium: null @ jolie.net.commcore.createcommchannel(commcore.java:311) @ jolie.net.ports.outputport.getcommchannel(outputport.java:240) @ jolie.net.ports.outputport.getcommchannel(outputport.java:310) @ jolie.process.solicitresponseprocess.run(solicitresponseprocess.java:122) @ jolie.runtime.parallelexecution$parallelthread.runprocess(parallelexecution.java:44) @ jolie.executionthread.run(executionthread.java:469) @ java.util.concurrent.executors$runnableadapter.call(unknown source) @ java.util.concurrent.futuretask.run(unknown source) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source)"
this code of calculator.ol:
include "runtime.iol" include "console.iol" include "operationinterface.iol" include "calculatorinterface.iol" execution{ concurrent } interface fibonacciinterface { requestresponse: fibonacci( int )( int ) } outputport fibonacciservice { location: "local" interfaces: fibonacciinterface } embedded { jolie: "fibonacci.ol" in fibonacciservice } inputport calculator { location: "socket://localhost:8001" protocol: http interfaces: calculatorinterface } main { [ fibonacci()( response ) { __op = "fibonacci"; println@console("operation:" + __op)(); fibonacci@fibonacciservice(10)( response ) }] } and code of fibonacci.ol
include "console.iol" include "runtime.iol" execution{ concurrent } interface fibonacciinterface { requestresponse: fibonacci( int )( int ) } outputport myself { interfaces: fibonacciinterface } inputport fibonacciservice { location: "local" interfaces: fibonacciinterface } main { fibonacci( n )( response ) { if ( n < 2 ) { response = n } else { { fibonacci@myself( n - 1 )( resp1 ) | fibonacci@myself( n - 2 )( resp2 ) }; response = resp1 + resp2 } } }
Comments
Post a Comment