-------- Original Message --------
Subject: Re: XSD schema support in WSIF - problem not solved.
Date: Thu, 3 Feb 2005 12:45:12 +0530
From: kiran <[EMAIL PROTECTED]>
Reply-To: kiran <[EMAIL PROTECTED]>
To: Aleksander Slominski <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>




Thanks Aleks,

But how to construct the WSDLLocator object?
I know the location of teh WSDL file, nothing else.

Regards,
Kiran


On Thu, 03 Feb 2005 01:01:53 -0500, Aleksander Slominski <[EMAIL PROTECTED]> wrote:
kiran wrote:

>I am using the following code to read the WSDL which have the XSD
>schema type in it. When I print the ExtensibilityEleemnt, it is coming
>as UnknownExtensibilityElement.
>
>
actually after i hecked code now i remmeber how schema support was
implemented in WSIF - it is very very rudemntary and schema parsing is
used only to figure out mappings - code deals with
UnknownExtensibilityElement  see org.apache.wsif.schema.Parser for
details and in particular:

    /**
     * Get all the schemas defined in the Definition object
     */
    private static void getTypesSchemas(Definition def, List schemas,
WSDLLocator loc) throws WSIFException {
        Types types = def.getTypes();
        if (types != null) {
            Iterator extEleIt = types.getExtensibilityElements().iterator();

            while (extEleIt.hasNext()) {
                UnknownExtensibilityElement typesElement =
                    (UnknownExtensibilityElement) extEleIt.next();

                Element schemaEl = typesElement.getElement();
                if (QNameUtils.matches(schema2001, schemaEl)
                    || QNameUtils.matches(schema2000, schemaEl)
                    || QNameUtils.matches(schema1999, schemaEl)) {
                    Schema sc = new Schema(schemaEl);
                    schemas.add(sc);
                    String docBase = def.getDocumentBaseURI();
                    if (docBase != null && loc != null) {
                        String[] importsAndIncludes =
sc.getImportsAndIncludes();
                        for (int i=0; i<importsAndIncludes.length; i++) {
                            String sl = importsAndIncludes[i];
                            getImportedSchemas(docBase, sl, loc, schemas);
                        }
                    }
                }
            }
        }

        Map imports = def.getImports();
       ....

HTH,

alek

>I changed the xmlns:xsd="http://www.w3.org/1999/XMLSchema";
>xmlns:xsd="http://www.w3.org/2001/XMLSchema";.
>But no effect.
>---------------------------------------------------------------------------------------------------------------------------
>def = WSIFUtils.readWSDL(null, wsdlLocation);
>Types types = def.getTypes();
>if(types != null){
>  List extensibilityElements = types.getExtensibilityElements();
>  if (extensibilityElements != null){
>  Iterator extensibilityElementIterator = extensibilityElements.iterator();
>  while (extensibilityElementIterator.hasNext()){
>     ExtensibilityElement ext =
>(ExtensibilityElement)extensibilityElementIterator.next();
>     System.out.println("Extensibility element: " +
>ext.getClass().getName() + "\tQName="
>         + ext.getElementType());
>    }
>  }else
>  System.out.println("No Extensibility elements");
>}
>---------------------------------------------------------------------------------------------------------------------------
>
>On Wed, 02 Feb 2005 13:28:07 -0500, Aleksander Slominski
><[EMAIL PROTECTED]> wrote:
>
>
>>Jeff Greif wrote:
>>
>>
>>
>>>WSIF definitely supports <schema> in the <types> section of the WSDL
>>>document, without any special additions.  Probably something else in the
>>>wsdl is causing the UnknownExtensibilityElement problem.  Perhaps you can
>>>tell by looking at the wsdls for the WSIF samples, or by providing some more
>>>details to this list.
>>>
>>>
>>>
>>>
>>Kiran,
>>
>>i am a bit suspicious of "http://www.w3.org/1999/XMLSchema";
>>
>>i think it should be "http://www.w3.org/2001/XMLSchema"; ...
>>
>>HTH,
>>
>>alek
>>
>>
>>
>>>----- Original Message -----
>>>From: "kiran" <[EMAIL PROTECTED]>
>>>To: <[email protected]>
>>>Sent: Wednesday, February 02, 2005 5:26 AM
>>>Subject: XSD schema support in WSIF
>>>
>>>
>>>
>>>
>>>
>>>
>>>>Hi All,
>>>>
>>>>Is WSIF support the XSD   types?
>>>>I want to read(create also) the following WSDL, also need to read the
>>>>associated XSD types and elements.
>>>>How can I achive this?
>>>>When I try reading tehis, I get UnknownExtensionsibilityElement- Is
>>>>there are ExtensibilityElement avaialbale for XSD schema?
>>>>--------------------------A part of the WSDL-------------
>>>><definitions  .....>
>>>><!-- type defs -->
>>>><types>
>>>>   <xsd:schema
>>>>     targetNamespace="http://wsiftypes.addressbook.service.ejb/";
>>>>               xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
>>>>     <xsd:complexType name="phone">
>>>>       <xsd:sequence>
>>>>         <xsd:element name="areaCode" type="xsd:int"/>
>>>>         <xsd:element name="exchange" type="xsd:string"/>
>>>>         <xsd:element name="number" type="xsd:string"/>
>>>>       </xsd:sequence>
>>>>     </xsd:complexType>
>>>>
>>>>     <xsd:complexType name="address">
>>>>       <xsd:sequence>
>>>>         <xsd:element name="streetNum" type="xsd:int"/>
>>>>         <xsd:element name="streetName" type="xsd:string"/>
>>>>         <xsd:element name="city" type="xsd:string"/>
>>>>         <xsd:element name="state" type="xsd:string"/>
>>>>         <xsd:element name="zip" type="xsd:int"/>
>>>>         <xsd:element name="phoneNumber" type="typens:phone"/>
>>>>       </xsd:sequence>
>>>>     </xsd:complexType>
>>>>   </xsd:schema>
>>>> </types>
>>>>
>>>> <!-- message declns -->
>>>> <message name="AddEntryWholeNameRequestMessage">
>>>>   <part name="name" type="xsd:string"/>
>>>>   <part name="address" type="typens:address"/>
>>>> </message>
>>>>
>>>> <message name="AddEntryFirstAndLastNamesRequestMessage">
>>>>   <part name="firstName" type="xsd:string"/>
>>>>   <part name="lastName" type="xsd:string"/>
>>>>   <part name="address" type="typens:address"/>
>>>> </message>
>>>>...
>>>>------------------------------
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>--
>>The best way to predict the future is to invent it - Alan Kay
>>
>>
>>
>>
>
>
>
>

--
The best way to predict the future is to invent it - Alan Kay




--
Regards,
Kiran M.S


-- The best way to predict the future is to invent it - Alan Kay



Reply via email to