The following comment has been added to this issue:

     Author: Jeff Greif
    Created: Thu, 7 Oct 2004 9:19 PM
       Body:
Probably in some future version of wsif, most of the schema package should be replaced 
by the use of the org.apache.xerces.xs stuff as specified in 
http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040122/ since it will probably 
be better supported over the long term and will represent a reference implementation 
of this api.

Jeff
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/WSIF-65?page=comments#action_53822

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/WSIF-65

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: WSIF-65
    Summary: wrong namespace for element's type in schema.ElementType
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis-WSIF
 Components: 
             Basic Architecture
   Versions:
             current (nightly)

   Assignee: 
   Reporter: Jeff Greif

    Created: Thu, 7 Oct 2004 9:08 PM
    Updated: Thu, 7 Oct 2004 9:19 PM
Environment: Windows 2000 SP4, WSIF 2.0 and later, Java jdk 1.4.2_05

Description:
Considering this schema found in a wsdl <types> section
  <schema xmlns="http://www.w3.org/2001/XMLSchema";
      targetNamespace="something" elementFormDefault="qualified">
     <element name="foo" type="string">
  </schema>

you can see immediately that these lines from the org.apache.wsif.schema.ElementType 
constructor contain an error:
    ElementType(Element el, String tns) {
        elementType = getAttributeQName(el, "type", tns);
        typeName = getAttributeQName(el, "name", tns);

Passing tns to serve as the default namespace for the element name attribute is 
correct, since only the local name is specified there, and the element is defined in 
the target namespace.

However, it is incorrect to pass tns to the extractor of the QName for the type 
attribute.  In the example, the default namespace is the XSD namespace.  The 2nd line 
of the code snippet above will incorrectly get the type of element foo as "tns:string".

The code should be replaced by

    ElementType(Element el, String tns) {
        elementType = getAttributeQName(el, "type",            
getDefaultNamespace(el));
        typeName = getAttributeQName(el, "name", tns);

where the appropriate getDefaultNamespace(org.w3c.dom.Node) function needs to be 
provided.  This could walk up from the current node toward the document root looking 
for the first xmlns="..." attribute and extracting its value.  Presumably one of the 
jars on which wsif depends contains such a function.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to