You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Bert Grauert <be...@googlemail.com> on 2009/10/20 17:37:11 UTC

cxf-bc http session id

Hello,

I have a simple webservice in servicemix-cxf-se which is made
accessible via a servicemix-cxf-bc consumer to an external client. For
a sticky session load balancing scenario I want a session id to be
generated and added at the binding component (which it doesn’t). I
created a cxf bus configuration for the cxf-bc consumer. I am using
the rather old servicemix version 3.2.3. Can someone give me a hint
why the session id is not generated? The verbose logs do not show any
errors or warnings. Thanks.


cxf-bc xbean:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
       xmlns:hw="http://loadbalance.mycompany.com/2009/services/helloWorld">

  <cxfbc:consumer wsdl="classpath:hello_world.wsdl"
                  targetService="hw:HelloWorld"
                  targetInterface="hw:HelloWorld"
                  busCfg="cxf-bus.xml"
                  timeout="30" />
</beans>


cxf-bus.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
      xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
      xsi:schemaLocation="
            http://cxf.apache.org/transports/http/configuration
                  http://cxf.apache.org/schemas/configuration/http-conf.xsd
          http://cxf.apache.org/transports/http-jetty/configuration
            http://cxf.apache.org/schemas/configuration/http-jetty.xsd
          http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

      <httpj:engine-factory bus="cxf">
            <httpj:engine port="9090">
                  <httpj:sessionSupport>true</httpj:sessionSupport>
            </httpj:engine>
      </httpj:engine-factory>
</beans>


cxf-se xbean:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
	xmlns:cxf="http://cxf.apache.org/core">

	<cxfse:endpoint>
		<cxfse:pojo>
			<bean class="com.mycompany.loadbalance.HelloWorldImpl"></bean>
		</cxfse:pojo>

		<cxfse:inInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
		</cxfse:inInterceptors>
		<cxfse:outInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
		</cxfse:outInterceptors>
		<cxfse:inFaultInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
		</cxfse:inFaultInterceptors>
		<cxfse:outFaultInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
		</cxfse:outFaultInterceptors>
	</cxfse:endpoint>

</beans>

Re: cxf-bc http session id

Posted by Bert Grauert <be...@googlemail.com>.
Hi JB,

here is the cxf-bc xbean:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
       xmlns:hw="http://loadbalance.mycompany.com/2009/services/helloWorld">

  <cxfbc:consumer wsdl="classpath:hello_world.wsdl"
                  targetService="hw:HelloWorld"
                  targetInterface="hw:HelloWorld"
                  busCfg="cxf-bus.xml"
                  timeout="30" />
</beans>


and the cxf-bus.xml:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
	xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
	xsi:schemaLocation="
		http://cxf.apache.org/transports/http/configuration
			http://cxf.apache.org/schemas/configuration/http-conf.xsd
	    http://cxf.apache.org/transports/http-jetty/configuration
	    	http://cxf.apache.org/schemas/configuration/http-jetty.xsd
	    http://www.springframework.org/schema/beans
	    	http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

	<httpj:engine-factory bus="cxf">
		<httpj:engine port="9091">
			<httpj:sessionSupport>true</httpj:sessionSupport>
		</httpj:engine>
	</httpj:engine-factory>
		
</beans>

thanks for having a look.
Bert


On Wed, Oct 21, 2009 at 2:29 PM, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> Hi Bert,
>
> Could you provide the cxf-bc xbean.xml and the corresponding bus XML config
> file ?
>
> Regards
> JB
>
> Bert Grauert wrote:
>>
>> I am using latest version of cxf-se, cxf.bc and servicemix 3.3.1 now.
>> I did also find an older statement in this mailing list saying that
>> <sessionSupport>true</sessionSupport> in a cxf bus config for a cxf-bc
>> component worked at least for someone. But there was no further
>> explanation.
>> I did also create a cxf standalone testcase, using the exact same
>> cxf-bus.xml file and service implementation class that I use within
>> servicemix. A cookie with session id is created for the cxf-standalone
>> scenario but I still can’t get it working within smx. Looks like the
>> configuration is not applied somehow, even though I am sure the
>> configuration file is picked up. Any hint is appreciated.
>>
>>
>> On Tue, Oct 20, 2009 at 5:37 PM, Bert Grauert
>> <be...@googlemail.com> wrote:
>>>
>>> Hello,
>>>
>>> I have a simple webservice in servicemix-cxf-se which is made
>>> accessible via a servicemix-cxf-bc consumer to an external client. For
>>> a sticky session load balancing scenario I want a session id to be
>>> generated and added at the binding component (which it doesn’t). I
>>> created a cxf bus configuration for the cxf-bc consumer. I am using
>>> the rather old servicemix version 3.2.3. Can someone give me a hint
>>> why the session id is not generated? The verbose logs do not show any
>>> errors or warnings. Thanks.
>>>
>>>
>>> cxf-bc xbean:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>>
>>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>>
>>> xmlns:hw="http://loadbalance.mycompany.com/2009/services/helloWorld">
>>>
>>>  <cxfbc:consumer wsdl="classpath:hello_world.wsdl"
>>>                  targetService="hw:HelloWorld"
>>>                  targetInterface="hw:HelloWorld"
>>>                  busCfg="cxf-bus.xml"
>>>                  timeout="30" />
>>> </beans>
>>>
>>>
>>> cxf-bus.xml:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <beans xmlns="http://www.springframework.org/schema/beans"
>>>      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>
>>>  xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
>>>
>>>  xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
>>>      xsi:schemaLocation="
>>>            http://cxf.apache.org/transports/http/configuration
>>>
>>>  http://cxf.apache.org/schemas/configuration/http-conf.xsd
>>>          http://cxf.apache.org/transports/http-jetty/configuration
>>>            http://cxf.apache.org/schemas/configuration/http-jetty.xsd
>>>          http://www.springframework.org/schema/beans
>>>
>>>  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>>>
>>>      <httpj:engine-factory bus="cxf">
>>>            <httpj:engine port="9090">
>>>                  <httpj:sessionSupport>true</httpj:sessionSupport>
>>>            </httpj:engine>
>>>      </httpj:engine-factory>
>>> </beans>
>>>
>>>
>>> cxf-se xbean:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
>>>       xmlns:cxf="http://cxf.apache.org/core">
>>>
>>>       <cxfse:endpoint>
>>>               <cxfse:pojo>
>>>                       <bean
>>> class="com.mycompany.loadbalance.HelloWorldImpl"></bean>
>>>               </cxfse:pojo>
>>>
>>>               <cxfse:inInterceptors>
>>>                       <bean
>>> class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>>>               </cxfse:inInterceptors>
>>>               <cxfse:outInterceptors>
>>>                       <bean
>>> class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>>>               </cxfse:outInterceptors>
>>>               <cxfse:inFaultInterceptors>
>>>                       <bean
>>> class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>>>               </cxfse:inFaultInterceptors>
>>>               <cxfse:outFaultInterceptors>
>>>                       <bean
>>> class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>>>               </cxfse:outFaultInterceptors>
>>>       </cxfse:endpoint>
>>>
>>> </beans>
>>>
>

Re: cxf-bc http session id

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Bert,

Could you provide the cxf-bc xbean.xml and the corresponding bus XML 
config file ?

Regards
JB

Bert Grauert wrote:
> I am using latest version of cxf-se, cxf.bc and servicemix 3.3.1 now.
> I did also find an older statement in this mailing list saying that
> <sessionSupport>true</sessionSupport> in a cxf bus config for a cxf-bc
> component worked at least for someone. But there was no further
> explanation.
> I did also create a cxf standalone testcase, using the exact same
> cxf-bus.xml file and service implementation class that I use within
> servicemix. A cookie with session id is created for the cxf-standalone
> scenario but I still can’t get it working within smx. Looks like the
> configuration is not applied somehow, even though I am sure the
> configuration file is picked up. Any hint is appreciated.
> 
> 
> On Tue, Oct 20, 2009 at 5:37 PM, Bert Grauert
> <be...@googlemail.com> wrote:
>> Hello,
>>
>> I have a simple webservice in servicemix-cxf-se which is made
>> accessible via a servicemix-cxf-bc consumer to an external client. For
>> a sticky session load balancing scenario I want a session id to be
>> generated and added at the binding component (which it doesn’t). I
>> created a cxf bus configuration for the cxf-bc consumer. I am using
>> the rather old servicemix version 3.2.3. Can someone give me a hint
>> why the session id is not generated? The verbose logs do not show any
>> errors or warnings. Thanks.
>>
>>
>> cxf-bc xbean:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>>        xmlns:hw="http://loadbalance.mycompany.com/2009/services/helloWorld">
>>
>>   <cxfbc:consumer wsdl="classpath:hello_world.wsdl"
>>                   targetService="hw:HelloWorld"
>>                   targetInterface="hw:HelloWorld"
>>                   busCfg="cxf-bus.xml"
>>                   timeout="30" />
>> </beans>
>>
>>
>> cxf-bus.xml:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns="http://www.springframework.org/schema/beans"
>>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
>>       xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
>>       xsi:schemaLocation="
>>             http://cxf.apache.org/transports/http/configuration
>>                   http://cxf.apache.org/schemas/configuration/http-conf.xsd
>>           http://cxf.apache.org/transports/http-jetty/configuration
>>             http://cxf.apache.org/schemas/configuration/http-jetty.xsd
>>           http://www.springframework.org/schema/beans
>>             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>>
>>       <httpj:engine-factory bus="cxf">
>>             <httpj:engine port="9090">
>>                   <httpj:sessionSupport>true</httpj:sessionSupport>
>>             </httpj:engine>
>>       </httpj:engine-factory>
>> </beans>
>>
>>
>> cxf-se xbean:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
>>        xmlns:cxf="http://cxf.apache.org/core">
>>
>>        <cxfse:endpoint>
>>                <cxfse:pojo>
>>                        <bean class="com.mycompany.loadbalance.HelloWorldImpl"></bean>
>>                </cxfse:pojo>
>>
>>                <cxfse:inInterceptors>
>>                        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>>                </cxfse:inInterceptors>
>>                <cxfse:outInterceptors>
>>                        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>>                </cxfse:outInterceptors>
>>                <cxfse:inFaultInterceptors>
>>                        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>>                </cxfse:inFaultInterceptors>
>>                <cxfse:outFaultInterceptors>
>>                        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>>                </cxfse:outFaultInterceptors>
>>        </cxfse:endpoint>
>>
>> </beans>
>>

Re: cxf-bc http session id

Posted by Bert Grauert <be...@googlemail.com>.
I am using latest version of cxf-se, cxf.bc and servicemix 3.3.1 now.
I did also find an older statement in this mailing list saying that
<sessionSupport>true</sessionSupport> in a cxf bus config for a cxf-bc
component worked at least for someone. But there was no further
explanation.
I did also create a cxf standalone testcase, using the exact same
cxf-bus.xml file and service implementation class that I use within
servicemix. A cookie with session id is created for the cxf-standalone
scenario but I still can’t get it working within smx. Looks like the
configuration is not applied somehow, even though I am sure the
configuration file is picked up. Any hint is appreciated.


On Tue, Oct 20, 2009 at 5:37 PM, Bert Grauert
<be...@googlemail.com> wrote:
> Hello,
>
> I have a simple webservice in servicemix-cxf-se which is made
> accessible via a servicemix-cxf-bc consumer to an external client. For
> a sticky session load balancing scenario I want a session id to be
> generated and added at the binding component (which it doesn’t). I
> created a cxf bus configuration for the cxf-bc consumer. I am using
> the rather old servicemix version 3.2.3. Can someone give me a hint
> why the session id is not generated? The verbose logs do not show any
> errors or warnings. Thanks.
>
>
> cxf-bc xbean:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>        xmlns:hw="http://loadbalance.mycompany.com/2009/services/helloWorld">
>
>   <cxfbc:consumer wsdl="classpath:hello_world.wsdl"
>                   targetService="hw:HelloWorld"
>                   targetInterface="hw:HelloWorld"
>                   busCfg="cxf-bus.xml"
>                   timeout="30" />
> </beans>
>
>
> cxf-bus.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
>       xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
>       xsi:schemaLocation="
>             http://cxf.apache.org/transports/http/configuration
>                   http://cxf.apache.org/schemas/configuration/http-conf.xsd
>           http://cxf.apache.org/transports/http-jetty/configuration
>             http://cxf.apache.org/schemas/configuration/http-jetty.xsd
>           http://www.springframework.org/schema/beans
>             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>
>       <httpj:engine-factory bus="cxf">
>             <httpj:engine port="9090">
>                   <httpj:sessionSupport>true</httpj:sessionSupport>
>             </httpj:engine>
>       </httpj:engine-factory>
> </beans>
>
>
> cxf-se xbean:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
>        xmlns:cxf="http://cxf.apache.org/core">
>
>        <cxfse:endpoint>
>                <cxfse:pojo>
>                        <bean class="com.mycompany.loadbalance.HelloWorldImpl"></bean>
>                </cxfse:pojo>
>
>                <cxfse:inInterceptors>
>                        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>                </cxfse:inInterceptors>
>                <cxfse:outInterceptors>
>                        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>                </cxfse:outInterceptors>
>                <cxfse:inFaultInterceptors>
>                        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>                </cxfse:inFaultInterceptors>
>                <cxfse:outFaultInterceptors>
>                        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>                </cxfse:outFaultInterceptors>
>        </cxfse:endpoint>
>
> </beans>
>