[ 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