Hello to all.

 

This is my first steps in XFire... so don't be mad with me ;)

 

I have to expose EJBs as Web Services... To do this I choose XFire into
Mule.

My problem is that Aegis can't handle collection with JDK 1.4 so i
decided to create an XSD file to define all the types.

 

I add this file in the configuration (<list name="schemas"><entry
value="my.xsd"/></list>) XFire took it without any problem but it
continues to generate the types... So I've got a double declaration of
my types... and what is generated by Aegis is not correct...

 

Is there any way to add my XSD and say to XFire to not generate the
types? I absolutely can't use Java 5... and I don t want to generate all
*.aegis.xml files for all my collections...

 

Thanks for helping me...

 

Max.

 

 

Extras information:

 

if a class (named classA) extends an abstract class(named class B)
Aegis will add the properties from the classA into the classB... and not
says that classA is abstract...

 

Class A:

public abstract class ValueObject implements Cloneable,Serializable{

 public abstract String toString();

       public int getMsgId() { return -1;}

       public boolean isValid() {return true;    }

}

 

Class B:

public class SpecificAuthenticationACKVO extends ValueObject {

      private  AuthenticationInfo authenticationACKVO;

      public AuthenticationInfo  getAuthenticationACKVO(){ return
authenticationACKVO;}

      public void setAuthenticationACKVO(AuthenticationInfo
authenticationACKVO){this.authenticationACKVO=authenticationACKVO;}

}

 

Class C:

public interface AuthenticationInfo {

      public Boolean  getManager();

      public Boolean  getAdministrator();

      public String  getMessage();

}

 

Generation by XFire/Aegis in my generated WSDL:

<xsd:complexType name="AuthenticationInfo">

            <xsd:sequence>

<xsd:element name="manager" type="xsd:boolean"/>

<xsd:element name="administrator" type="xsd:boolean"/>

<xsd:element name="message" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

 

<xsd:complexType name="SpecificAuthenticationACKVO">

            <xsd:sequence>

<xsd:element name="authenticationACKVO" type="tns:AuthenticationInfo"/>

<xsd:element minOccurs="0" name="msgId" type="xsd:int"/>

<xsd:element minOccurs="0" name="valid" type="xsd:boolean"/>

</xsd:sequence>

</xsd:complexType>

 

 

Normally it would generate (like in my XSD):

<xsd:complexType abstract="true" name="AuthenticationInfo">

            <xsd:sequence>

<xsd:element name="manager" type="xsd:boolean"/>

<xsd:element name="administrator" type="xsd:boolean"/>

<xsd:element name="message" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

 

<xsd:complexType abstract="true" name="ValueObject">

<xsd:sequence>

<xsd:element minOccurs="0" name="msgId" type="xsd:int"/>

<xsd:element minOccurs="0" name="valid" type="xsd:boolean"/>

</xsd:sequence>

</xsd:complexType>

 

<xsd:complexType name="SpecificAuthenticationACKVO">

<xsd:complexContent>

                        <xsd:extension base="tns:ValueObject">

                                    <xsd:sequence>

<xsd:element name="authenticationACKVO" type="tns:AuthenticationInfo"/>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

 

 

My mule configuration if you want to see:

            <container-context
className="org.mule.impl.container.EjbContainerContext">

              <properties>

                                    <!--  Jndi environment properties
-->

                                    <map name="environment">

                                      <property
name="java.naming.factory.initial"
value="org.jnp.interfaces.NamingContextFactory"/>

                                      <property
name="java.naming.provider.url" value="jnp://localhost:1099"/>

                                      <property
name="java.naming.factory.url.pkgs"
value="org.jboss.naming:org.jnp.interfaces"/>

                                    </map>

                   

                                    <!-- optional properties to
configure custom security policies and security manager-->

                                    <property name="securityPolicy"
value="security.policy"/>

                                    <property name="securityManager"
value="java.rmi.RMISecurityManager"/> 

                        </properties>

            </container-context>

 

    <mule-descriptor name="Login"
implementation="com.facade.ejb.LoginServiceHome">

        <inbound-router>

                        <endpoint
address="xfire:http://localhost:8081/services"/>

        </inbound-router>

        <properties>

                  <list name="serviceInterfaces"> 

                        <entry value="com.facade.ejb.LoginService"/> 

                  </list>

                  <list name="schemas"><entry value="my.xsd"/></list>

        </properties>

    </mule-descriptor>

 

 

Here there is no pb. I already test this with a simple EJB everything
works fine.

 



This email was sent to you by Reuters, the global news and information company. 
To find out more about Reuters visit www.about.reuters.com

Any views expressed in this message are those of the individual sender, 
except where the sender specifically states them to be the views of Reuters 
Limited.

Reuters Limited is part of the Reuters Group of companies, of which Reuters 
Group PLC is the ultimate parent company.
Reuters Group PLC - Registered office address: The Reuters Building, South 
Colonnade, Canary Wharf, London E14 5EP, United Kingdom
Registered No: 3296375
Registered in England and Wales

Reply via email to