Did this actually work for you. I am thinking of using correlation sets in my project. Please let me know if this is supported in servicemix. Thanks much
Alex Boisvert wrote: > > > What I had in mind is: > > 1) process sends a message and initiates a correlation set during the > invoke (e.g. taskId = 'xxx') > 2) worklist service processes the message and returns output message > with same taskId in the body. > 3) process receives message and correlates against the taskId property. > > This correlation pattern is called "request-response" in BPEL 2.0 and > "out-in" in BPEL 1.1, and should work with two one-way messages or a > single request-response operation. > > So you get roughly this BPEL activity (assuming you're doing a single > operation): > > <invoke operation="createTask" > inputVariable="createTaskRequest" > outputVariable="createTaskResponse" > partnerLink="WorklistPartnerLink" > portType="wl:WorklistPortType"> > <correlations> > <correlation set="taskId" initiate="yes" > pattern="request-response"/> > </correlations> > </invoke> > > If you don't use correlation sets and you're doing an asynchronous > operation, you're relying on an underlying protocol (e.g., > WS-Addressing) and the fact that the service understands this protocol. > > alex > > > Guillaume Nodet wrote: >> You mean using a synchronous BPEL process to correlate the request and >> the >> response of the main asyncrhonous BPEL process ? >> That's also a good solution. >> Still, there is the need to support wsa:replyTo somewhere ... >> >> Cheers, >> Guillaume Nodet >> >> On 6/14/06, Alex Boisvert <[EMAIL PROTECTED]> wrote: >>> >>> >>> Also, by far the most portable and easiest way would be to use a BPEL >>> correlation set and define correlation properties to be extracted from >>> the message body. >>> >>> This should work on ServiceMix today as it does not require any >>> infrastructure support from the message bus. >>> >>> alex >>> >>> >>> Guillaume Nodet wrote: >>> > Let me check i have understood: your bpel process is asynchronous, it >>> > means >>> > that it will answer to the request by sending another http request, >>> > right ? >>> > >>> > I would see several solutions: >>> > * use a synchronous bpel process, and let the servicemix-http handle >>> the >>> > wsa:replyTo header (unfortunately, this is not supported yet, please >>> > raise a >>> > jira) >>> > * keep the bpel process asynchronous, but register an http binding >>> > for the >>> > response >>> > * mix both (async bpel process + replyTo) and use a component to >>> > correlate >>> > the request to the bpel process and its response (it should be a >>> > servicemix-eip pattern, the opposite of the pipeline) >>> > * use URIs (http://servicemix.goopen.org/site/uris.html) >>> > >>> > So in short, this is not currently possible as is. The easiest way >>> > would be >>> > to change your process to be synchronous and implement a small >>> > component in >>> > front that would make the bridge and use URI support to send the >>> > response. >>> > If your process is asynchronous, how do you plan to correlate the >>> request >>> > and the response ? >>> > >>> > Cheers, >>> > Guillaume Nodet >>> > >>> > >>> > On 6/14/06, oho <[EMAIL PROTECTED]> wrote: >>> >> >>> >> >>> >> Hello >>> >> >>> >> I use PXE on Servicemix-3.0-Snapshot from 2006-04-26 on Tomcat >>> 5.5.16. >>> >> >>> >> On BPEL-Process I call via jbiBridge a webservice called >>> >> worklistService. >>> >> This call is asynchron. >>> >> For callback BPEL-Process from worklistService i need to use >>> >> WS-Adressing >>> >> information from webservice-header. This information are not >>> >> supplied. Are >>> >> there any options to configure servicemix for supporting >>> WS-Addressing. >>> >> >>> >> My service-definitions in applicationContext.xml: >>> >> >>> >> <?xml version=" 1.0" encoding="UTF-8"?> >>> >> <beans xmlns="http://xbean.org/schemas/spring/1.0" >>> >> xmlns:sm=" http://servicemix.apache.org/config/1.0" >>> >> xmlns:http="http://servicemix.apache.org/http/1.0" >>> >> xmlns:process=" >>> >> http://bpel.nesko.fin.be.ch/statemachine/process/Form" >>> >> >>> >> xmlns:startprozess=" >>> http://ws.nesko.fin.be.ch/statemachine/process/startProzess >>> >> >>> >> " >>> >> >>> >> xmlns:wl="http://ws.statemachine.nesko.fin.be.ch/worklist" >>> >> > >>> >> >>> >> <!-- the JBI container --> >>> >> <sm:container id="jbi" >>> >> rootDir="#rootDir" >>> >> useMBeanServer="true" >>> >> createMBeanServer="true" >>> >> installationDirPath="#installDir" >>> >> deploymentDirPath="#deployDir" >>> >> >>> >> >>> >> monitorInstallationDirectory="true" >>> >> dumpStats="true" >>> >> statsInterval="10" >>> >> >>> >> transactionManager="#transactionManager"> >>> >> >>> >> <sm:activationSpecs> >>> >> <!-- START SNIPPET: HTTP-Endpoint --> >>> >> <sm:activationSpec componentName="httpEndpoints"> >>> >> <sm:component> >>> >> <http:component> >>> >> <http:endpoints> >>> >> >>> >> <http:endpoint >>> >> service="process:FormErfassenStandardProcessService" >>> >> >>> >> >>> >> endpoint="FromErfassenStandardProcessPort" >>> >> >>> >> role="consumer" >>> >> >>> >> >>> >> locationURI=" >>> >> >>> http://localhost:8192/statemachine/process/FormErfassenStandardProcessService >>> >>> >>> >> >>> >> " >>> >> >>> defaultMep=" >>> >> http://www.w3.org/2004/08/wsdl/in-out" >>> >> >>> soap="true" /> >>> >> </http:endpoints> >>> >> </http:component> >>> >> </sm:component> >>> >> </sm:activationSpec> >>> >> <!-- END SNIPPET: HTTP-Endpoint --> >>> >> <!-- START SNIPPET: Worklist Soap Endpoint Definition --> >>> >> <sm:activationSpec componentName="worklistSoap" >>> >> >>> >> service="wl:CreateTaskService" >>> >> >>> >> endpoint="CreateTaskService" >>> >> > >>> >> <sm:component> >>> >> <bean class=" >>> >> org.apache.servicemix.components.saaj.SaajBinding"> >>> >> <property >>> name="soapEndpoint"> >>> >> <bean class=" >>> >> javax.xml.messaging.URLEndpoint"> >>> >> >>> <constructor-arg >>> >> value="http://localhost:8889/statemachine/services/WorklistService"/> >>> >> </bean> >>> >> </property> >>> >> </bean> >>> >> </sm:component> >>> >> </sm:activationSpec> >>> >> <!-- END SNIPPET: Worklist Soap Endpoint >>> Definition --> >>> >> </sm:activationSpecs> >>> >> </sm:container> >>> >> >>> >> <!-- Transaction Manager --> >>> >> <bean id="transactionContextManager" >>> >> class="org.jencks.factory.TransactionContextManagerFactoryBean "/> >>> >> <bean id="transactionManager" >>> >> class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" /> >>> >> >>> >> <!-- Directories relative to web app --> >>> >> <bean id="servletContext" >>> >> class=" >>> org.springframework.web.context.support.ServletContextFactoryBean" >>> >> >>> >> /> >>> >> <bean id="rootDir" class="org.springframework.web.util.WebUtils" >>> >> factory-method="getRealPath"> >>> >> <constructor-arg ref="servletContext" /> >>> >> <constructor-arg value="/wdir" /> >>> >> </bean> >>> >> <bean id="installDir" >>> class="org.springframework.web.util.WebUtils " >>> >> factory-method="getRealPath"> >>> >> <constructor-arg ref="servletContext" /> >>> >> <constructor-arg value="/install" /> >>> >> </bean> >>> >> <bean id="deployDir" class=" org.springframework.web.util.WebUtils" >>> >> factory-method="getRealPath"> >>> >> <constructor-arg ref="servletContext" /> >>> >> <constructor-arg value="/deploy" /> >>> >> </bean> >>> >> </beans> >>> >> >>> >> >>> >> Thanks for your help. >>> >> Oliver >>> >> -- >>> >> View this message in context: >>> >> >>> http://www.nabble.com/WS-Addressing-from-pxe-over-JBI-t1785537.html#a4863047 >>> >>> >>> >> >>> >> >>> >> Sent from the ServiceMix - User forum at Nabble.com. >>> >> >>> >> >>> > >>> >>> >> > > > -- View this message in context: http://www.nabble.com/WS-Addressing-from-pxe-over-JBI-tf1785537s12049.html#a9113477 Sent from the ServiceMix - User mailing list archive at Nabble.com.
