[ https://issues.apache.org/jira/browse/SYNAPSE-330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882043#action_12882043 ]
Heshan Suriyaarachchi edited comment on SYNAPSE-330 at 6/24/10 1:05 AM: ------------------------------------------------------------------------ Hi, I developed a sample to demonstrate session affinity load balancing with soap session. It is attached to the issue SYNAPSE-638. I ran the sample and grabbed the messages on wire with tcpmon. Following are the messages; 1) Message from Client to Synapse: POST /services/LBService3 HTTP/1.1 Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation" User-Agent: Axis2 Host: 127.0.0.1:8281 Transfer-Encoding: chunked 213 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c3</syn:ClientID> <wsa:To>http://localhost:8281/services/LBService3</wsa:To> <wsa:MessageID>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:MessageID> <wsa:Action>urn:sampleOperation</wsa:Action> </soapenv:Header> <soapenv:Body> <Value>v1</Value> </soapenv:Body> </soapenv:Envelope> 0 2) Message from Synapse to Service: POST /services/LBService3 HTTP/1.1 Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation" Transfer-Encoding: chunked Host: 127.0.0.1:9010 Connection: Keep-Alive User-Agent: Synapse-HttpComponents-NIO 219 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c2</syn:ClientID> <wsa:To>http://localhost:9010/services/LBService3</wsa:To> <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:MessageID> <wsa:Action>urn:sampleOperation</wsa:Action> </soapenv:Header> <soapenv:Body> <Value>v1</Value> </soapenv:Body> </soapenv:Envelope> 0 3) Message from Service to Synapse: HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse" Date: Thu, 24 Jun 2010 04:48:34 GMT Server: Synapse-HttpComponents-NIO Transfer-Encoding: chunked Connection: Keep-Alive 30d <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address> <wsa:ReferenceParameters> <axis2:ServiceGroupId xmlns:axis2="http://ws.apache.org/namespaces/axis2">urn:uuid:A71A31B3873D8DBA5C1277354914251</axis2:ServiceGroupId> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:MessageID>urn:uuid:cdcd420f-4f13-4633-9a75-bfd24426b0d5</wsa:MessageID> <wsa:Action>urn:sampleOperationResponse</wsa:Action> <wsa:RelatesTo>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <Value>Response from server: MyServer1</Value> </soapenv:Body> </soapenv:Envelope> 0 4) Message from Synapse to Client: HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse" Server: Synapse-HttpComponents-NIO Date: Thu, 24 Jun 2010 04:48:35 GMT Transfer-Encoding: chunked 1f0 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2580436412153618638076</wsa:MessageID> <wsa:Action>urn:sampleOperationResponse</wsa:Action> <wsa:RelatesTo>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <Value>Response from server: MyServer1</Value> </soapenv:Body> </soapenv:Envelope> 0 When observing the messages you can see that the ServiceGroupId reference parameter is not passed back from Synapse to the client. Therefore session affinity load balancing with soap session is not working in the synapse trunk. was (Author: heshan): Hi, I developed a sample to demonstrate session affinity load balancing with soap session. It is attached to the issue SYNAPSE-638. I ran the sample and grabbed the messages on wire with tcpmon. Following are the messages; 1) Message from Client to Synapse: POST /services/LBService3 HTTP/1.1 Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation" User-Agent: Axis2 Host: 127.0.0.1:8281 Transfer-Encoding: chunked 213 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c3</syn:ClientID> <wsa:To>http://localhost:8281/services/LBService3</wsa:To> <wsa:MessageID>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:MessageID> <wsa:Action>urn:sampleOperation</wsa:Action> </soapenv:Header> <soapenv:Body> <Value>v1</Value> </soapenv:Body> </soapenv:Envelope> 0 2) Message from Synapse to Service: POST /services/LBService3 HTTP/1.1 Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperation" Transfer-Encoding: chunked Host: 127.0.0.1:9010 Connection: Keep-Alive User-Agent: Synapse-HttpComponents-NIO 219 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <syn:ClientID xmlns:syn="http://synapse.apache.org/ns/2010/04/configuration">c2</syn:ClientID> <wsa:To>http://localhost:9010/services/LBService3</wsa:To> <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:MessageID> <wsa:Action>urn:sampleOperation</wsa:Action> </soapenv:Header> <soapenv:Body> <Value>v1</Value> </soapenv:Body> </soapenv:Envelope> 0 3) Message from Service to Synapse: HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse" Date: Thu, 24 Jun 2010 04:48:34 GMT Server: Synapse-HttpComponents-NIO Transfer-Encoding: chunked Connection: Keep-Alive 30d <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address> <wsa:ReferenceParameters> <axis2:ServiceGroupId xmlns:axis2="http://ws.apache.org/namespaces/axis2">urn:uuid:A71A31B3873D8DBA5C1277354914251</axis2:ServiceGroupId> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:MessageID>urn:uuid:cdcd420f-4f13-4633-9a75-bfd24426b0d5</wsa:MessageID> <wsa:Action>urn:sampleOperationResponse</wsa:Action> <wsa:RelatesTo>urn:uuid:8ABC8C1AB85516AB1A2578624598492-1834341741</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <Value>Response from server: MyServer1</Value> </soapenv:Body> </soapenv:Envelope> 0 4) Message from Synapse to Client: HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=UTF-8; action="urn:sampleOperationResponse" Server: Synapse-HttpComponents-NIO Date: Thu, 24 Jun 2010 04:48:35 GMT Transfer-Encoding: chunked 1f0 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:MessageID>urn:uuid:8ABC8C1AB85516AB1A2580436412153618638076</wsa:MessageID> <wsa:Action>urn:sampleOperationResponse</wsa:Action> <wsa:RelatesTo>urn:uuid:55cee89a-5fcd-49b0-a269-3fd5f438571b</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <Value>Response from server: MyServer1</Value> </soapenv:Body> </soapenv:Envelope> 0 When observing the messages you can see that the ServiceGroupId reference parameter is not passed back from Synapse to the client. Therefore session affinity load balancing with soap session is not working in the synapse trunk. > Load balancing with session affinity using the soap session is not working > -------------------------------------------------------------------------- > > Key: SYNAPSE-330 > URL: https://issues.apache.org/jira/browse/SYNAPSE-330 > Project: Synapse > Issue Type: Bug > Components: Endpoints > Affects Versions: 1.2 > Environment: all envs > Reporter: Ruwan Linton > Assignee: Ruwan Linton > Fix For: 2.0 > > > Load balancing with the session affinity over the soap session is not working > for the moment because we need to propagate addressing headers to the client > from the actual service without modifying them (The wsa:Reply-To header with > ServiceGroupId as a ReferenceParameters). In order to support this proxy > services should support engaging addressing which cannot be done for the > moment. > Once it has been fixed we can test this and see how it goes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org