[ http://jira.codehaus.org/browse/XFIRE-704?page=all ]

Dan Diephouse closed XFIRE-704.
-------------------------------

    Resolution: Fixed

This was a problem in our BeanType class. We weren't declaring the namespace on 
the root schema element, which caused issues. I've fixed this in SVN now I 
believe.

> inheritance namespace problem with xfire 1.2 or 1.2.2
> -----------------------------------------------------
>
>                 Key: XFIRE-704
>                 URL: http://jira.codehaus.org/browse/XFIRE-704
>             Project: XFire
>          Issue Type: Bug
>          Components: Aegis Module
>    Affects Versions: 1.2.2
>         Environment: xfire 1.2 or 1.2.2, spring 2.0-rc2
>            Reporter: rajeev chandrasekaran
>         Assigned To: Dan Diephouse
>             Fix For: 1.2.3
>
>
> I am running into a namespacing problem while using the inheritance feature 
> in xfire. 
>  
> I've tried to simplify the problem:
>  
> Assume we have the following class structure: class C extends class B and 
> class B extends class A. Also assume class C references another class D in 
> package com.sample.sub1.sub2.sub3. Assume A and B are in the same package, C 
> in its own, D in its own, and the web service interface in its own (see 
> package and imports below). Only the VO classes A and C are directly 
> referenced in the com.sample.MyWebService interface, example:
>  
> package com.sample;
>  
> import com.sample.sub1.A;
> //import com.sample.sub1.B;
> //import com.sample.sub1.sub3.sub3.D;
> import com.sample.sub1.sub2.C;
>  
> public interface MyWebService
> {
>  public void saveObjects(List<A> objects);
>  public List<C> getCObjects();
> }
>  
> The global workspaces defined on the wsdl:definitions element look like this:
> xmlns:ns1="com.sample.sub1.sub2.sub3"  [where class D is]
> xmlns:ns2="com.sample.sub1.sub2"       [where class C is]
> xmlns:ns3="com.sample.sub1"        [where classes A and B are]
>  
> But the problem arises in the complex type definition for class C: a new 'n1' 
> namespace is defined off of the complexContent element which overrides the 
> global 'n1' namespace off of the wsdl element, incorrectly causing the 
> referenced 'n1' types (class D) in the complex definition to be in the wrong 
> namespace (com.sample.sub1 instead of com.sample.sub1.sub2.sub3):
>  
> <xsd:schema targetNamespace=""com.sample.sub1.sub2">
>   <xsd:complexType name="C>
>     <xsd:complexContent xmlns:ns1="com.sample.sub1">
>       <xsd:extension base="ns1:B">
>         <xsd:sequence>
>           <xsd:element ..... type="ns1:D"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>   
>   </xsd:complexType>
> </xsd:schema>
>  
> Note that I've also tried setting writeXsiType to true and listing types like 
> classe B and D (not directly referenced in the ws interface) in the 
> overrideTypesList map entries in xfire-servlet.xml. Also, interestingly 
> enough other references to class B in the document (even in very similar 
> <xsd:extension> elements) correcly reference C in its corresponding *global* 
> namespace: ns3:B.
>  
> Any help would be greatly appreciated.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to