I have the following config: * Apache Tomcat 6.0.20 * Apache Axis2 1.5 * Apache Rampart 1.5 RC1 (installed according to http://wso2.org/library/knowledge-base/run-rampart-samples-apache-tomcat) * Apache Ode 1.3.3
I have the "sample03" service from Rampart running. The WSDL at http://localhost:8081/axis2/services/sample03?wsdl is: > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:ns1="http://org.apache.axis2/xsd" > xmlns:ns="http://sample03.policy.samples.rampart.apache.org" > xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" > xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" > targetNamespace="http://sample03.policy.samples.rampart.apache.org"> > <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" > wsu:Id="SigEncr"> > <wsp:ExactlyOne> > <wsp:All> > <sp:AsymmetricBinding > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:InitiatorToken> > <wsp:Policy> > <sp:X509Token > sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"> > > <wsp:Policy> > <sp:RequireThumbprintReference/> > <sp:WssX509V3Token10/> > </wsp:Policy> > </sp:X509Token> > </wsp:Policy> > </sp:InitiatorToken> > <sp:RecipientToken> > <wsp:Policy> > > <sp:X509Token > sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> > <wsp:Policy> > <sp:RequireThumbprintReference/> > <sp:WssX509V3Token10/> > </wsp:Policy> > </sp:X509Token> > </wsp:Policy> > </sp:RecipientToken> > <sp:AlgorithmSuite> > > <wsp:Policy> > <sp:TripleDesRsa15/> > </wsp:Policy> > </sp:AlgorithmSuite> > <sp:Layout> > <wsp:Policy> > <sp:Strict/> > </wsp:Policy> > </sp:Layout> > > <sp:IncludeTimestamp/> > <sp:OnlySignEntireHeadersAndBody/> > </wsp:Policy> > </sp:AsymmetricBinding> > <sp:Wss10 > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <sp:Policy> > <sp:MustSupportRefKeyIdentifier/> > <sp:MustSupportRefIssuerSerial/> > </sp:Policy> > > </sp:Wss10> > <sp:SignedParts > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <sp:Body/> > </sp:SignedParts> > <sp:EncryptedParts > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <sp:Body/> > </sp:EncryptedParts> > </wsp:All> > </wsp:ExactlyOne> > > </wsp:Policy> > <wsdl:types> > <xs:schema attributeFormDefault="qualified" > elementFormDefault="qualified" > targetNamespace="http://sample03.policy.samples.rampart.apache.org"> > <xs:element name="echo"> > <xs:complexType> > <xs:sequence> > <xs:element minOccurs="0" name="args0" > nillable="true" type="xs:string"/> > </xs:sequence> > </xs:complexType> > > </xs:element> > <xs:element name="echoResponse"> > <xs:complexType> > <xs:sequence> > <xs:element minOccurs="0" name="return" > nillable="true" type="xs:string"/> > </xs:sequence> > </xs:complexType> > </xs:element> > </xs:schema> > > </wsdl:types> > <wsdl:message name="echoRequest"> > <wsdl:part name="parameters" element="ns:echo"/> > </wsdl:message> > <wsdl:message name="echoResponse"> > <wsdl:part name="parameters" element="ns:echoResponse"/> > </wsdl:message> > <wsdl:portType xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" > name="sample03PortType" wsp:PolicyURIs="#SigEncr"> > <wsdl:operation name="echo"> > > <wsdl:input message="ns:echoRequest" wsaw:Action="urn:echo"/> > <wsdl:output message="ns:echoResponse" > wsaw:Action="urn:echoResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="sample03Soap11Binding" type="ns:sample03PortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document"/> > <wsdl:operation name="echo"> > <soap:operation soapAction="urn:echo" style="document"/> > <wsdl:input> > > <soap:body use="literal"/> > </wsdl:input> > <wsdl:output> > <soap:body use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:binding name="sample03Soap12Binding" type="ns:sample03PortType"> > <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document"/> > > <wsdl:operation name="echo"> > <soap12:operation soapAction="urn:echo" style="document"/> > <wsdl:input> > <soap12:body use="literal"/> > </wsdl:input> > <wsdl:output> > <soap12:body use="literal"/> > </wsdl:output> > </wsdl:operation> > > </wsdl:binding> > <wsdl:binding name="sample03HttpBinding" type="ns:sample03PortType"> > <http:binding verb="POST"/> > <wsdl:operation name="echo"> > <http:operation location="sample03/echo"/> > <wsdl:input> > <mime:content type="text/xml" part="echo"/> > </wsdl:input> > <wsdl:output> > > <mime:content type="text/xml" part="echo"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="sample03"> > <wsdl:port name="sample03HttpSoap11Endpoint" > binding="ns:sample03Soap11Binding"> > <soap:address > location="http://localhost:8081/axis2/services/sample03.sample03HttpSoap11Endpoint/"/> > </wsdl:port> > <wsdl:port name="sample03HttpSoap12Endpoint" > binding="ns:sample03Soap12Binding"> > > <soap12:address > location="http://localhost:8081/axis2/services/sample03.sample03HttpSoap12Endpoint/"/> > </wsdl:port> > <wsdl:port name="sample03HttpEndpoint" > binding="ns:sample03HttpBinding"> > <http:address > location="http://localhost:8081/axis2/services/sample03.sample03HttpEndpoint/"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> I have a small process in webapps\ode\WEB-INF\processes\RampartOdeTest.2 (see attached files). I imported the Test1-Pool.wsdl into SoapUI. First, I called the service without the sample03.axis2 in place. Request: > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:pool="http://example.com/Test1/Pool"> > <soapenv:Header/> > <soapenv:Body> > <pool:EventStartMessageRequest>?</pool:EventStartMessageRequest> > </soapenv:Body> > </soapenv:Envelope> Response: > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Body> > <soapenv:Fault xmlns:soapenv="http://incubator.apache.org/ode"> > <faultcode>soapenv:Fault</faultcode> > <faultstring>Message exchange failure due to: Missing wsse:Security > header in request</faultstring> > <detail> > <Fault xmlns="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> > <faultcode xmlns="">wsse:InvalidSecurity</faultcode> > <faultstring xmlns="">Missing wsse:Security header in > request</faultstring> > <detail xmlns=""/> > </Fault> > </detail> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> So, nothing unexpected. Then, I put the sample03.axis into place. Now, the response to the same request is: > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Body> > <soapenv:Fault xmlns:soapenv="http://incubator.apache.org/ode"> > <faultcode>soapenv:Fault</faultcode> > <faultstring>Message exchange failure due to: Error sending message > (mex={PartnerRoleMex#hqejbhcnphr4nl24ndvl3l [PID > {http://example.com/Test1/Pool}Pool-1] calling > [email protected](...)}): Error in obtaining a > token</faultstring> > <detail> > <Exception>org.apache.ode.axis2.OdeFault: Message exchange > failure due to: Error sending message > (mex={PartnerRoleMex#hqejbhcnphr4nl24ndvl3l [PID > {http://example.com/Test1/Pool}Pool-1] calling > [email protected](...)}): Error in obtaining a > token > at > org.apache.ode.axis2.util.SoapMessageConverter.createOdeFault(SoapMessageConverter.java:570) > at org.apache.ode.axis2.ODEService.onResponse(ODEService.java:282) > at > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:189) > at > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:69) > at > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:52) > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > 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:128) > 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:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) > at java.lang.Thread.run(Thread.java:619)</Exception> > </detail> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> Any idea what to do? Rampart seems to be invoked, but somehow it cannot obtain a token. This looks like an issue at the Ode side, the sample03 service isn't called at all as far as I can see. Any hints appreciated ... Bye, Jens
Test1-Pool.wsdl
Description: XML document
<?xml version="1.0" encoding="UTF-8"?> <!-- ! ! Copyright 2006 The Apache Software Foundation. ! ! Licensed under the Apache License, Version 2.0 (the "License"); ! you may not use this file except in compliance with the License. ! You may obtain a copy of the License at ! ! http://www.apache.org/licenses/LICENSE-2.0 ! ! Unless required by applicable law or agreed to in writing, software ! distributed under the License is distributed on an "AS IS" BASIS, ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ! See the License for the specific language governing permissions and ! limitations under the License. !--> <service> <module ref="rampart"/> <wsp:Policy wsu:Id="SecConvPolicy2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <wsp:ExactlyOne> <wsp:All> <sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:ProtectionToken> <wsp:Policy> <sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:RequireDerivedKeys/> <sp:BootstrapPolicy> <wsp:Policy> <sp:EncryptedParts> <sp:Body/> </sp:EncryptedParts> <sp:SymmetricBinding> <wsp:Policy> <sp:ProtectionToken> <wsp:Policy> <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> <wsp:Policy> <sp:RequireDerivedKeys/> <sp:RequireThumbprintReference/> <sp:WssX509V3Token10/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:ProtectionToken> <sp:AlgorithmSuite> <wsp:Policy> <sp:Basic128Rsa15/> </wsp:Policy> </sp:AlgorithmSuite> <sp:Layout> <wsp:Policy> <sp:Strict/> </wsp:Policy> </sp:Layout> <sp:IncludeTimestamp/> <sp:EncryptSignature/> <sp:OnlySignEntireHeadersAndBody/> </wsp:Policy> </sp:SymmetricBinding> <sp:EndorsingSupportingTokens> <wsp:Policy> <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:RequireThumbprintReference/> <sp:WssX509V3Token10/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:EndorsingSupportingTokens> <sp:Wss11> <wsp:Policy> <sp:MustSupportRefKeyIdentifier/> <sp:MustSupportRefIssuerSerial/> <sp:MustSupportRefThumbprint/> <sp:MustSupportRefEncryptedKey/> <sp:RequireSignatureConfirmation/> </wsp:Policy> </sp:Wss11> <sp:Trust10> <wsp:Policy> <sp:MustSupportIssuedTokens/> <sp:RequireClientEntropy/> <sp:RequireServerEntropy/> </wsp:Policy> </sp:Trust10> </wsp:Policy> </sp:BootstrapPolicy> </wsp:Policy> </sp:SecureConversationToken> </wsp:Policy> </sp:ProtectionToken> <sp:AlgorithmSuite> <wsp:Policy> <sp:Basic128Rsa15/> </wsp:Policy> </sp:AlgorithmSuite> <sp:Layout> <wsp:Policy> <sp:Strict/> </wsp:Policy> </sp:Layout> <sp:IncludeTimestamp/> <sp:EncryptSignature/> <sp:OnlySignEntireHeadersAndBody/> </wsp:Policy> </sp:SymmetricBinding> <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:MustSupportRefKeyIdentifier/> <sp:MustSupportRefIssuerSerial/> <sp:MustSupportRefThumbprint/> <sp:MustSupportRefEncryptedKey/> </wsp:Policy> </sp:Wss11> <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:MustSupportIssuedTokens/> <sp:RequireClientEntropy/> <sp:RequireServerEntropy/> </wsp:Policy> </sp:Trust10> <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <sp:Body/> </sp:EncryptedParts> <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> <ramp:user>client</ramp:user> <ramp:encryptionUser>service</ramp:encryptionUser> <!-- <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample03.PWCBHandler</ramp:passwordCallbackClass> --> <ramp:signatureCrypto> <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.file">TestRampartPolicy/secured-services/client.jks</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property> </ramp:crypto> </ramp:signatureCrypto> <ramp:encryptionCypto> <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.file">TestRampartPolicy/secured-services/client.jks</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property> </ramp:crypto> </ramp:encryptionCypto> </ramp:RampartConfig> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> </service>
<?xml version='1.0' encoding='UTF-8'?> <dd:deploy xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03"><dd:process xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:ns="http://sample03.policy.samples.rampart.apache.org" xmlns:diag="http://example.com/Test1" xmlns:Pool1="http://example.com/Test1/Pool1" xmlns:Pool0="http://example.com/Test1/Pool0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:this="http://example.com/Test1/Pool" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="this:Pool" fileName="Test1-Pool.bpel"> <dd:property name="PATH">Test1</dd:property> <dd:property name="SVG">Test1.svg</dd:property> <dd:provide partnerLink="poolAndPool1PlkVar"> <dd:service name="this:CanonicServiceForPool1" port="canonicPort"></dd:service> </dd:provide> <dd:invoke partnerLink="pool0AndPoolForPortSample03HttpSoap12EndpointPlkVar"> <dd:service name="ns:sample03" port="sample03HttpSoap11Endpoint"></dd:service> </dd:invoke> </dd:process></dd:deploy>
sample03.wsdl
Description: XML document
Test1.wsdl
Description: XML document
<?xml version="1.0" encoding="UTF-8"?> <bpel:process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ode="http://www.apache.org/ode/type/extension" xmlns:Pool1="http://example.com/Test1/Pool1" xmlns:Pool0="http://example.com/Test1/Pool0" xmlns:ns="http://sample03.policy.samples.rampart.apache.org" xmlns:this="http://example.com/Test1/Pool" xmlns:diag="http://example.com/Test1" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:bpmn="http://www.intalio.com/bpms" xmlns:atomic="http://ode.apache.org/atomicScope" queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" bpmn:label="Pool" name="Pool" bpmn:id="_TSDGULNREd6hTqcmnrF6ZQ" targetNamespace="http://example.com/Test1/Pool"> <bpel:import namespace="http://sample03.policy.samples.rampart.apache.org" location="sample03.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <bpel:import namespace="http://example.com/Test1" location="Test1.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <bpel:import namespace="http://example.com/Test1/Pool" location="Test1-Pool.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <bpel:partnerLinks> <bpel:partnerLink name="poolAndPool1PlkVar" partnerLinkType="diag:PoolAndPool1" myRole="Pool_for_Pool1"/> <bpel:partnerLink name="pool0AndPoolForPortSample03HttpSoap12EndpointPlkVar" partnerLinkType="diag:Pool0AndPoolForPortSample03HttpSoap12EndpointPlk" initializePartnerRole="yes" partnerRole="Pool0_for_Pool"/> </bpel:partnerLinks> <bpel:variables> <bpel:variable name="nsEchoRequestMsg" messageType="ns:echoRequest"/> <bpel:variable name="nsEchoResponseMsg" messageType="ns:echoResponse"/> <bpel:variable name="thisEventStartMessageRequest" messageType="this:EventStartMessageRequest"/> <bpel:variable name="thisEventStartMessageResponse" messageType="this:EventStartMessageResponse"/> </bpel:variables> <bpel:sequence> <bpel:receive partnerLink="poolAndPool1PlkVar" portType="this:ForPool1" operation="EventStartMessage" variable="thisEventStartMessageRequest" createInstance="yes" bpmn:label="Message_Start_Event" name="Message_Start_Event" bpmn:id="_bciJkLNTEd6hTqcmnrF6ZQ"></bpel:receive> <bpel:assign name="init-variables-Pool" bpmn:id="_bciJkLNTEd6hTqcmnrF6ZQ"> <bpel:copy bpmn:label="$nsEchoRequestMsg"> <bpel:from> <bpel:literal> <ns:echo> <ns:args0></ns:args0> </ns:echo></bpel:literal> </bpel:from> <bpel:to>$nsEchoRequestMsg.parameters</bpel:to> </bpel:copy> <bpel:copy bpmn:label="$thisEventStartMessageResponse"> <bpel:from> <bpel:literal> <this:EventStartMessageResponse></this:EventStartMessageResponse></bpel:literal> </bpel:from> <bpel:to>$thisEventStartMessageResponse.body</bpel:to> </bpel:copy> </bpel:assign> <bpel:assign bpmn:label="Task" name="Task" bpmn:id="_TSM3ULNREd6hTqcmnrF6ZQ"> <bpel:copy> <bpel:from>$thisEventStartMessageRequest.body</bpel:from> <bpel:to>$nsEchoRequestMsg.parameters/ns:args0</bpel:to> </bpel:copy> </bpel:assign> <bpel:invoke partnerLink="pool0AndPoolForPortSample03HttpSoap12EndpointPlkVar" portType="ns:sample03PortType" operation="echo" inputVariable="nsEchoRequestMsg" outputVariable="nsEchoResponseMsg" bpmn:label="Task" name="Task-1" bpmn:id="_TSM3ULNREd6hTqcmnrF6ZQ"></bpel:invoke> <bpel:assign bpmn:label="Message_End_Event" name="Message_End_Event" bpmn:id="_ciazkLNTEd6hTqcmnrF6ZQ"> <bpel:copy> <bpel:from>$nsEchoResponseMsg.parameters/ns:return</bpel:from> <bpel:to>$thisEventStartMessageResponse.body</bpel:to> </bpel:copy> </bpel:assign> <bpel:reply partnerLink="poolAndPool1PlkVar" portType="this:ForPool1" operation="EventStartMessage" variable="thisEventStartMessageResponse" bpmn:label="Message_End_Event" name="Message_End_Event-1" bpmn:id="_ciazkLNTEd6hTqcmnrF6ZQ"></bpel:reply> </bpel:sequence> </bpel:process>
