Hi all,

I have several questions around SMX4.

1/ cxf-nmr and cxf-osgi example
Both example are quite the same except that the <jaxws:endpoint> tag address
attribute is not the same :
- in the case of the cxf-nmr, the address is set to nmr:HelloWorld
- in the case of the cxf-osgi, the address is set to /HelloWorld
Does it mean that to register the OSGi bundle in the NMR, I need to use the 
first
address format ?
I guess that registering the bundle in the NMR is the only manner to expose the
bean via another component (such as JMS, http, etc). Correct ?

2/ Using bean for jaxws implementor
In the cxf examples, Guillaume uses the <jaxws:endpoint> which looks like the
<cxfse:endpoint> previous component.
In my SMX3 services, I uses a SU with something like :
<bean id="myOtherBean" class="MyOtherBean">
  <property name="arg0" value="test"/>
</bean>
<cxfse:endpoint endpoint="MyService" service="GlobalService">
  <cxfse:pojo>
    <bean class="myBean">
      <property name="otherBean" ref="myOtherBean"/>
    </bean>
  </cxfse:pojo>
</cxfse:endpoint>
Using the <jaxws:endpoint>, I have seen only the implementor attribute taking a
classname. Is it possible to use bean ref as implementor ?

3/ My first bundle
I have wrote my first bundle to migrate one of my cxfse components.
In the META-INF/spring/beans.xml, I have define something like this :

<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0";
       xmlns:fsb="http://fsb.fimasys.com";
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
        http://servicemix.apache.org/cxfse/1.0
http://servicemix.apache.org/cxfse/1.0/servicemix-cxf-se.xsd";>
  [...]
  <cxfse:endpoint endpoint="myService" service="Services">
    <cxfse:pojo>
        <bean class="myClassImpl">
            <property name="proxy" ref="ejbProxy"/>
        </bean>
    </cxfse:pojo>
  </cxfse:endpoint>
</beans>

myClassImpl contains the @WebService annotations and implements an interface 
with
@WebService annotation too.

In the pom.xml, I have :
[...]
<packaging>bundle</packaging>
[...]
         <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <configuration>
               <instructions>
                  <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
                  <Import-Package>
                    javax.jws,
                    META-INF.cxf,
                    META-INF.cxf.osgi
                  </Import-Package>
                  <Private-Package>MyServicePackage.*</Private-Package>
                 
<Require-Bundle>org.apache.servicemix.bundles.woodstox-3.2.3</Require-Bundle>
               </instructions>
            </configuration>
         </plugin>
[...]

I have build my bundle using :
mvn org.apache.felix:maven-bundle-plugin:bundle

I have installed this bundle (using the shell) using :
osgi install file:/....
osgi start bundle_id

The bundle is installed and started correctly.

But, doing nmr list in the SMX shell, I can't see any endpoints defined.

Now, how can I expose this bundle using another bundle (or component) for 
example
in HTTP (SOAP), file or JMS ?

4/ Advice to migrate from SMX3 to SMX4
As I don't have a lot of services in my SMX3, I would like to fully migrate to
SMX4 to be ready for the future :).
In my mind, the best way is to reimplement all my old SUs/SUa using OSGi 
bundles.
Is it a good way ?
Freeman has said to me that it's possible to have a myServices.xml file in the
deploy directory containing all my services definition (endpoints, beans, etc).
In this kind of file, how can I refer OSGi bundles (that I have previously
installed and deploy) (it's quite the same question that in the point 3) ?
Is OSGi bundles is the good way to provide services in the NMR or should I use :
- basic jar files containing my beans
- a myServices.xml in the deploy directory containing services/endpoints
declaration using my beans

Thanks a lot for your feedback :)

Regards
JB
--
Jean-Baptiste Onofré
[EMAIL PROTECTED]
BuildProcess/AutoDeploy Project Leader
http://buildprocess.sourceforge.net




Reply via email to