You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Benson Margulies <bi...@gmail.com> on 2009/12/01 14:29:16 UTC

Re: WSD2JS Not Creating Schema Objects

I just submitted a fix to CXF-2568 which is your problem with the enum
default values.

On Wed, Nov 18, 2009 at 6:53 PM, noosy
<va...@dsto.defence.gov.au> wrote:
>
> The latest snapshot has fixed the problem with the header  - thanks very much
> :)
>
> One question regarding the generated code for the following element
> (declared in a schema referenced by my wsdl):
>
> - <xsd:element default="COLD" name="temperature">
>        - <xsd:annotation>
>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>        </xsd:annotation>
>        - <xsd:simpleType>
>                - <xsd:restriction base="xsd:string">
>                        - <xsd:enumeration value="WARM">
>                                - <xsd:annotation>
>                                        <xsd:documentation xml:lang="en">Warm temp.</xsd:documentation>
>                                  </xsd:annotation>
>                        </xsd:enumeration>
>                        - <xsd:enumeration value="HOT">
>                                - <xsd:annotation>
>                                  <xsd:documentation xml:lang="en">Hot temp.</xsd:documentation>
>                                  </xsd:annotation>
>                        </xsd:enumeration>
>                        - <xsd:enumeration value="COLD">
>                                - <xsd:annotation>
>                                  <xsd:documentation xml:lang="en">Cold temp.</xsd:documentation>
>                                  </xsd:annotation>
>                          </xsd:enumeration>
>                </xsd:restriction>
>        </xsd:simpleType>
>  </xsd:element>
>
> A method is generated and the default value for temp is set:
>
> function myNamespace_temperature(){
>    ...
>    this._temperature = COLD;
> }
>
> To get my code to work, I need to turn COLD into a String. E.g. 'COLD'. Is
> this a new problem with the auto generated code?
>
> Currently, I have manually modified the generated js file to get around this
> and it is working as expected.
>
> Your advice would again be appreciated - if you require more info please
> just ask.
>
> Thanks
>
>
>
> noosy wrote:
>>
>> Sorry Benson, I only just got a chance to look at this today. Thanks so
>> much - will try the snapshot tomorrow and post back my results.
>>
>>
>> bimargulies wrote:
>>>
>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>> snapshot.
>>>
>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>> <bi...@gmail.com>wrote:
>>>
>>>> I will try to make sense of this tonight. However, I am likelier to be
>>>> much
>>>> more helpful much faster if you can either construct a test case you can
>>>> share or at least share the XML Schema fragments relevant to this
>>>> problem.
>>>> This kind of problem boils down to having generated Javascript that is
>>>> not
>>>> on the same page as the XML Schema (assuming that your service
>>>> corresponds
>>>> to its schema correctly).
>>>>
>>>>
>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>> <vanessa.towers@dsto.defence.gov.au
>>>> > wrote:
>>>>
>>>>>
>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>> generated
>>>>> :)
>>>>>
>>>>> However... I tried to call a simple WS operation, I can see that I am
>>>>> getting the SOAP envelope back containing the result but my generated
>>>>> js
>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>> is letting me down. I will try and describe the problem as best I can.
>>>>>
>>>>> In FireBug, the POST Response looks like this:
>>>>>
>>>>> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>    <env:Header/>
>>>>>    <env:Body>
>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>            <java:result>myResult</java:result>
>>>>>        </java:getResultResponse>
>>>>>    </env:Body>
>>>>> </env:Envelope>
>>>>>
>>>>> Within the method below, I will show you what I see in Firebug as
>>>>> comments
>>>>> for each line..
>>>>>
>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>> {
>>>>>    if(client.user_onsuccess)
>>>>>    {
>>>>>        var responseObject = null;
>>>>>        var element = responseXml.documentElement;  // element =
>>>>> envelope
>>>>>        this.jsutils.trace('responseXml: ' +
>>>>> this.jsutils.traceElementName(element));
>>>>>        element = this.jsutils.getFirstElementChild(element); // element
>>>>> =
>>>>> header
>>>>>        this.jsutils.trace('first element child: ' +
>>>>> this.jsutils.traceElementName(element));
>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>> element =
>>>>> null
>>>>>        this.jsutils.trace('part element: ' +
>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>        this.jsutils.trace('calling
>>>>> blah_getResultResponse_deserializeResponse');
>>>>>        responseObject =
>>>>> blah_getResultResponse_deserializeResponse(this.jsutils, element);
>>>>>        client.user_onsuccess(responseObject);
>>>>>    }
>>>>> }
>>>>>
>>>>> So the problem is arising where element = null.
>>>>>
>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>
>>>>> documentElement: envelope
>>>>>  childElementCount: 2
>>>>>  children: header, body
>>>>>    0: header
>>>>>      childElementCount: 0
>>>>>    1: body
>>>>>      childElementCount: 1
>>>>>      children: getresultresponse
>>>>>        0: getresultresponse
>>>>>          childElementCount: 1
>>>>>          children: result
>>>>>            0: result
>>>>>              textContent: myResult
>>>>>
>>>>> Is the problem my XML (I'm using a third party WSDL so I can't change
>>>>> it)
>>>>> or
>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>> responseXML?
>>>>>
>>>>> BTW I greatly appreciate your help so far!
>>>>>
>>>>>
>>>>>
>>>>> bimargulies wrote:
>>>>> >
>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>> snapshot.
>>>>> >
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Re: WSD2JS Not Creating Schema Objects

Posted by Benson Margulies <bi...@gmail.com>.
Ah, attributes. Attributes are the biggest unsolved piece of the
Javascript generator. I'll try do find some time to look at them
again.

On Tue, Dec 8, 2009 at 2:59 AM, noosy
<va...@dsto.defence.gov.au> wrote:
>
> I really hope that you can *fingers crossed*
>
> The type is described here
> http://www.dni.gov/ICIS/dsca/pubs/xml/XsdPubsXmlv1.0.pdf
>
> The PolygonType can be seen on page 48 of this document
> (DDMS-GML-Profile.xsd)
>
> Line number 46  <xs:element name="Polygon" type="gml:PolygonType"/>
>
> Let me know what you think.
>
> Cheers :)
>
>
> bimargulies wrote:
>>
>> That failure is a stopper. Can you tell me what's in the type, and
>> perhaps I could add support?
>>
>
> --
> View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26690028.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Re: WSD2JS Not Creating Schema Objects

Posted by noosy <va...@dsto.defence.gov.au>.
I really hope that you can *fingers crossed*

The type is described here
http://www.dni.gov/ICIS/dsca/pubs/xml/XsdPubsXmlv1.0.pdf

The PolygonType can be seen on page 48 of this document
(DDMS-GML-Profile.xsd)

Line number 46	<xs:element name="Polygon" type="gml:PolygonType"/>

Let me know what you think.

Cheers :)


bimargulies wrote:
> 
> That failure is a stopper. Can you tell me what's in the type, and
> perhaps I could add support?
> 

-- 
View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26690028.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: WSD2JS Not Creating Schema Objects

Posted by Benson Margulies <bi...@gmail.com>.
That failure is a stopper. Can you tell me what's in the type, and
perhaps I could add support?

On Thu, Dec 3, 2009 at 10:36 PM, noosy
<va...@dsto.defence.gov.au> wrote:
>
> Ok, Option 1:
>
> I made a fake web service and it includes my (actually its a third party
> schema that references a bunch of other third party schemas) schema in the
> wsdl. Sadly when I run wsdl2js on it I get the following:
>
> org.apache.cxf.common.xmlschema.XmlSchemaUtils unsupportedConstruct
> ...
> Limitation: Type {http://www.opengis.net/gml}PolygonType is not defined as a
> sequence.
> ...
>
> Hmmm what to do, what to do. I will keep looking into this matter, if you
> have an opinion on this error let me know (I know I haven't given you much
> to go on).
>
> Option 2: I agree that tool would be cool - but I don't think my job will
> pay me to do any CXF dev at this point in time.
>
> Option 3: If I get no where with option 1, this will be my next attempt!
>
>
> bimargulies wrote:
>>
>> You have correctly parsed me.
>>
>> Option 1: a cheat. Create a fake web service that includes your schema
>> in the wsdl. Run wsdl2js, and then get busy with a text editor cutting
>> out the part you want.
>>
>> Option 2: what we really need here is xsd2js, like the tool provided
>> in jaxb. The pattern of tool-building in CXF Isn't all that horrible.
>> If your job will pay you do so some CXF development, I can send you
>> much more detailed pointers.
>>
>> Option 3: my original thought. A one-off crock to read your schema
>> into XmlSchema and then call the class that processes a schema set. On
>> consideration, this seems silly compared to (1).
>>
>>
>>
>> On Wed, Dec 2, 2009 at 10:33 PM, noosy
>> <va...@dsto.defence.gov.au> wrote:
>>>
>>> Thats what I was hoping you would say. Yes, I have an XML schema for my
>>> XML,
>>> would you mind (briefly) explaining the steps I should take to run
>>> SchemaJavascriptBuilder against my schema to generate the necessary
>>> deserialize/serialize functions?
>>>
>>> When you say "write a bit of Java" are you saying I should write my own
>>> Java
>>> class that uses SchemaJavascriptBuilder.java? Sorry, I'm not familiar
>>> with
>>> the CXF src so if I'm on the wrong track please let me know. I realise
>>> you
>>> have provided the building blocks for me to run with but I'm not sure
>>> what
>>> to do with them.
>>>
>>>
>>> bimargulies wrote:
>>>>
>>>> You can use the CXF stuff all over again if you are willing to write
>>>> an XML schema for your XML and write a bit of Java.
>>>>
>>>> In the CXF code, it wouldn't be too hard to run
>>>> SchemaJavascriptBuilder to create the necessary functions to serialize
>>>> and deserialize. then you just parse the string appropriate Javascript
>>>> DOM function.
>>>>
>>>>
>>>> On Wed, Dec 2, 2009 at 8:33 PM, noosy
>>>> <va...@dsto.defence.gov.au> wrote:
>>>>>
>>>>> Thanks again!
>>>>>
>>>>> Another question if you don't mind..
>>>>>
>>>>> I'm looking for the equivalent of how I would normally use xmlbeans in
>>>>> Java
>>>>> - that I can do in JS.
>>>>>
>>>>> More specifically, my web service returns xml within xml if that makes
>>>>> sense. My generated wsdl2js CXF code allows me to work nicely with the
>>>>> 'outer' xml described by my web service but the xml response that I get
>>>>> back
>>>>> contains a metadata tag that contains more xml adhering to a schema
>>>>> that
>>>>> is
>>>>> not known to the web service. Currently I'm not sure what the best way
>>>>> is
>>>>> to
>>>>> work with the 'inner' xml in JS.
>>>>>
>>>>> If I was doing this in Java I would bind the 'inner' xml to a Java type
>>>>> using XML Beans but alas I am in the strange new world of JS and I am
>>>>> not
>>>>> sure what my best options are (I can only think of ugly ways). I want
>>>>> to
>>>>> use
>>>>> the 'inner' xml in both directions. Eg. Read the 'inner' xml from out
>>>>> of
>>>>> my
>>>>> WS xml response and turn it into a workable js type and take a js type
>>>>> and
>>>>> turn it into xml to pass back to my WS. I have the schema for the
>>>>> 'inner'
>>>>> xml so is there a tool that will do this for me in js?
>>>>>
>>>>>
>>>>>
>>>>> bimargulies wrote:
>>>>>>
>>>>>> I just submitted a fix to CXF-2568 which is your problem with the enum
>>>>>> default values.
>>>>>>
>>>>>> On Wed, Nov 18, 2009 at 6:53 PM, noosy
>>>>>> <va...@dsto.defence.gov.au> wrote:
>>>>>>>
>>>>>>> The latest snapshot has fixed the problem with the header  - thanks
>>>>>>> very
>>>>>>> much
>>>>>>> :)
>>>>>>>
>>>>>>> One question regarding the generated code for the following element
>>>>>>> (declared in a schema referenced by my wsdl):
>>>>>>>
>>>>>>> - <xsd:element default="COLD" name="temperature">
>>>>>>>        - <xsd:annotation>
>>>>>>>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>>>>>>>        </xsd:annotation>
>>>>>>>        - <xsd:simpleType>
>>>>>>>                - <xsd:restriction base="xsd:string">
>>>>>>>                        - <xsd:enumeration value="WARM">
>>>>>>>                                - <xsd:annotation>
>>>>>>>                                        <xsd:documentation
>>>>>>> xml:lang="en">Warm temp.</xsd:documentation>
>>>>>>>                                  </xsd:annotation>
>>>>>>>                        </xsd:enumeration>
>>>>>>>                        - <xsd:enumeration value="HOT">
>>>>>>>                                - <xsd:annotation>
>>>>>>>                                  <xsd:documentation xml:lang="en">Hot
>>>>>>> temp.</xsd:documentation>
>>>>>>>                                  </xsd:annotation>
>>>>>>>                        </xsd:enumeration>
>>>>>>>                        - <xsd:enumeration value="COLD">
>>>>>>>                                - <xsd:annotation>
>>>>>>>                                  <xsd:documentation
>>>>>>> xml:lang="en">Cold
>>>>>>> temp.</xsd:documentation>
>>>>>>>                                  </xsd:annotation>
>>>>>>>                          </xsd:enumeration>
>>>>>>>                </xsd:restriction>
>>>>>>>        </xsd:simpleType>
>>>>>>>  </xsd:element>
>>>>>>>
>>>>>>> A method is generated and the default value for temp is set:
>>>>>>>
>>>>>>> function myNamespace_temperature(){
>>>>>>>    ...
>>>>>>>    this._temperature = COLD;
>>>>>>> }
>>>>>>>
>>>>>>> To get my code to work, I need to turn COLD into a String. E.g.
>>>>>>> 'COLD'.
>>>>>>> Is
>>>>>>> this a new problem with the auto generated code?
>>>>>>>
>>>>>>> Currently, I have manually modified the generated js file to get
>>>>>>> around
>>>>>>> this
>>>>>>> and it is working as expected.
>>>>>>>
>>>>>>> Your advice would again be appreciated - if you require more info
>>>>>>> please
>>>>>>> just ask.
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> noosy wrote:
>>>>>>>>
>>>>>>>> Sorry Benson, I only just got a chance to look at this today. Thanks
>>>>>>>> so
>>>>>>>> much - will try the snapshot tomorrow and post back my results.
>>>>>>>>
>>>>>>>>
>>>>>>>> bimargulies wrote:
>>>>>>>>>
>>>>>>>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>>>>>>>> snapshot.
>>>>>>>>>
>>>>>>>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>>>>>>>> <bi...@gmail.com>wrote:
>>>>>>>>>
>>>>>>>>>> I will try to make sense of this tonight. However, I am likelier
>>>>>>>>>> to
>>>>>>>>>> be
>>>>>>>>>> much
>>>>>>>>>> more helpful much faster if you can either construct a test case
>>>>>>>>>> you
>>>>>>>>>> can
>>>>>>>>>> share or at least share the XML Schema fragments relevant to this
>>>>>>>>>> problem.
>>>>>>>>>> This kind of problem boils down to having generated Javascript
>>>>>>>>>> that
>>>>>>>>>> is
>>>>>>>>>> not
>>>>>>>>>> on the same page as the XML Schema (assuming that your service
>>>>>>>>>> corresponds
>>>>>>>>>> to its schema correctly).
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>>>>>>>> <vanessa.towers@dsto.defence.gov.au
>>>>>>>>>> > wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>>>>>>>> generated
>>>>>>>>>>> :)
>>>>>>>>>>>
>>>>>>>>>>> However... I tried to call a simple WS operation, I can see that
>>>>>>>>>>> I
>>>>>>>>>>> am
>>>>>>>>>>> getting the SOAP envelope back containing the result but my
>>>>>>>>>>> generated
>>>>>>>>>>> js
>>>>>>>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>>>>> is letting me down. I will try and describe the problem as best I
>>>>>>>>>>> can.
>>>>>>>>>>>
>>>>>>>>>>> In FireBug, the POST Response looks like this:
>>>>>>>>>>>
>>>>>>>>>>> <env:Envelope
>>>>>>>>>>> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>>>>>>    <env:Header/>
>>>>>>>>>>>    <env:Body>
>>>>>>>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>>>>>>>            <java:result>myResult</java:result>
>>>>>>>>>>>        </java:getResultResponse>
>>>>>>>>>>>    </env:Body>
>>>>>>>>>>> </env:Envelope>
>>>>>>>>>>>
>>>>>>>>>>> Within the method below, I will show you what I see in Firebug as
>>>>>>>>>>> comments
>>>>>>>>>>> for each line..
>>>>>>>>>>>
>>>>>>>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>>>>> {
>>>>>>>>>>>    if(client.user_onsuccess)
>>>>>>>>>>>    {
>>>>>>>>>>>        var responseObject = null;
>>>>>>>>>>>        var element = responseXml.documentElement;  // element =
>>>>>>>>>>> envelope
>>>>>>>>>>>        this.jsutils.trace('responseXml: ' +
>>>>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>>>>        element = this.jsutils.getFirstElementChild(element); //
>>>>>>>>>>> element
>>>>>>>>>>> =
>>>>>>>>>>> header
>>>>>>>>>>>        this.jsutils.trace('first element child: ' +
>>>>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>>>>>>>> element =
>>>>>>>>>>> null
>>>>>>>>>>>        this.jsutils.trace('part element: ' +
>>>>>>>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>>>>>>>        this.jsutils.trace('calling
>>>>>>>>>>> blah_getResultResponse_deserializeResponse');
>>>>>>>>>>>        responseObject =
>>>>>>>>>>> blah_getResultResponse_deserializeResponse(this.jsutils,
>>>>>>>>>>> element);
>>>>>>>>>>>        client.user_onsuccess(responseObject);
>>>>>>>>>>>    }
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> So the problem is arising where element = null.
>>>>>>>>>>>
>>>>>>>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>>>>>>>
>>>>>>>>>>> documentElement: envelope
>>>>>>>>>>>  childElementCount: 2
>>>>>>>>>>>  children: header, body
>>>>>>>>>>>    0: header
>>>>>>>>>>>      childElementCount: 0
>>>>>>>>>>>    1: body
>>>>>>>>>>>      childElementCount: 1
>>>>>>>>>>>      children: getresultresponse
>>>>>>>>>>>        0: getresultresponse
>>>>>>>>>>>          childElementCount: 1
>>>>>>>>>>>          children: result
>>>>>>>>>>>            0: result
>>>>>>>>>>>              textContent: myResult
>>>>>>>>>>>
>>>>>>>>>>> Is the problem my XML (I'm using a third party WSDL so I can't
>>>>>>>>>>> change
>>>>>>>>>>> it)
>>>>>>>>>>> or
>>>>>>>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>>>>>>>> responseXML?
>>>>>>>>>>>
>>>>>>>>>>> BTW I greatly appreciate your help so far!
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> bimargulies wrote:
>>>>>>>>>>> >
>>>>>>>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>>>>>>>> snapshot.
>>>>>>>>>>> >
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> View this message in context:
>>>>>>>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26619651.html
>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26620505.html
>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26635756.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Re: WSD2JS Not Creating Schema Objects

Posted by noosy <va...@dsto.defence.gov.au>.
BTW the complexType PolygonType contains the following XML tags, do any of
them present a problem for wsdl2js?

<xs:annotation>
<xs:appinfo>
<mdr:definition>
<mdr:comment>
<xs:all>
<xs:attributeGroup>
<xs:attribute>



Ok, Option 1:

I made a fake web service and it includes my (actually its a third party
schema that references a bunch of other third party schemas) schema in the
wsdl. Sadly when I run wsdl2js on it I get the following:

org.apache.cxf.common.xmlschema.XmlSchemaUtils unsupportedConstruct
...
Limitation: Type {http://www.opengis.net/gml}PolygonType is not defined as a
sequence.
...

Hmmm what to do, what to do. I will keep looking into this matter, if you
have an opinion on this error let me know (I know I haven't given you much
to go on).

Option 2: I agree that tool would be cool - but I don't think my job will
pay me to do any CXF dev at this point in time.

Option 3: If I get no where with option 1, this will be my next attempt!
-- 
View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26635770.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: WSD2JS Not Creating Schema Objects

Posted by noosy <va...@dsto.defence.gov.au>.
Ok, Option 1:

I made a fake web service and it includes my (actually its a third party
schema that references a bunch of other third party schemas) schema in the
wsdl. Sadly when I run wsdl2js on it I get the following:

org.apache.cxf.common.xmlschema.XmlSchemaUtils unsupportedConstruct
...
Limitation: Type {http://www.opengis.net/gml}PolygonType is not defined as a
sequence.
...

Hmmm what to do, what to do. I will keep looking into this matter, if you
have an opinion on this error let me know (I know I haven't given you much
to go on).

Option 2: I agree that tool would be cool - but I don't think my job will
pay me to do any CXF dev at this point in time.

Option 3: If I get no where with option 1, this will be my next attempt!


bimargulies wrote:
> 
> You have correctly parsed me.
> 
> Option 1: a cheat. Create a fake web service that includes your schema
> in the wsdl. Run wsdl2js, and then get busy with a text editor cutting
> out the part you want.
> 
> Option 2: what we really need here is xsd2js, like the tool provided
> in jaxb. The pattern of tool-building in CXF Isn't all that horrible.
> If your job will pay you do so some CXF development, I can send you
> much more detailed pointers.
> 
> Option 3: my original thought. A one-off crock to read your schema
> into XmlSchema and then call the class that processes a schema set. On
> consideration, this seems silly compared to (1).
> 
> 
> 
> On Wed, Dec 2, 2009 at 10:33 PM, noosy
> <va...@dsto.defence.gov.au> wrote:
>>
>> Thats what I was hoping you would say. Yes, I have an XML schema for my
>> XML,
>> would you mind (briefly) explaining the steps I should take to run
>> SchemaJavascriptBuilder against my schema to generate the necessary
>> deserialize/serialize functions?
>>
>> When you say "write a bit of Java" are you saying I should write my own
>> Java
>> class that uses SchemaJavascriptBuilder.java? Sorry, I'm not familiar
>> with
>> the CXF src so if I'm on the wrong track please let me know. I realise
>> you
>> have provided the building blocks for me to run with but I'm not sure
>> what
>> to do with them.
>>
>>
>> bimargulies wrote:
>>>
>>> You can use the CXF stuff all over again if you are willing to write
>>> an XML schema for your XML and write a bit of Java.
>>>
>>> In the CXF code, it wouldn't be too hard to run
>>> SchemaJavascriptBuilder to create the necessary functions to serialize
>>> and deserialize. then you just parse the string appropriate Javascript
>>> DOM function.
>>>
>>>
>>> On Wed, Dec 2, 2009 at 8:33 PM, noosy
>>> <va...@dsto.defence.gov.au> wrote:
>>>>
>>>> Thanks again!
>>>>
>>>> Another question if you don't mind..
>>>>
>>>> I'm looking for the equivalent of how I would normally use xmlbeans in
>>>> Java
>>>> - that I can do in JS.
>>>>
>>>> More specifically, my web service returns xml within xml if that makes
>>>> sense. My generated wsdl2js CXF code allows me to work nicely with the
>>>> 'outer' xml described by my web service but the xml response that I get
>>>> back
>>>> contains a metadata tag that contains more xml adhering to a schema
>>>> that
>>>> is
>>>> not known to the web service. Currently I'm not sure what the best way
>>>> is
>>>> to
>>>> work with the 'inner' xml in JS.
>>>>
>>>> If I was doing this in Java I would bind the 'inner' xml to a Java type
>>>> using XML Beans but alas I am in the strange new world of JS and I am
>>>> not
>>>> sure what my best options are (I can only think of ugly ways). I want
>>>> to
>>>> use
>>>> the 'inner' xml in both directions. Eg. Read the 'inner' xml from out
>>>> of
>>>> my
>>>> WS xml response and turn it into a workable js type and take a js type
>>>> and
>>>> turn it into xml to pass back to my WS. I have the schema for the
>>>> 'inner'
>>>> xml so is there a tool that will do this for me in js?
>>>>
>>>>
>>>>
>>>> bimargulies wrote:
>>>>>
>>>>> I just submitted a fix to CXF-2568 which is your problem with the enum
>>>>> default values.
>>>>>
>>>>> On Wed, Nov 18, 2009 at 6:53 PM, noosy
>>>>> <va...@dsto.defence.gov.au> wrote:
>>>>>>
>>>>>> The latest snapshot has fixed the problem with the header  - thanks
>>>>>> very
>>>>>> much
>>>>>> :)
>>>>>>
>>>>>> One question regarding the generated code for the following element
>>>>>> (declared in a schema referenced by my wsdl):
>>>>>>
>>>>>> - <xsd:element default="COLD" name="temperature">
>>>>>>        - <xsd:annotation>
>>>>>>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>>>>>>        </xsd:annotation>
>>>>>>        - <xsd:simpleType>
>>>>>>                - <xsd:restriction base="xsd:string">
>>>>>>                        - <xsd:enumeration value="WARM">
>>>>>>                                - <xsd:annotation>
>>>>>>                                        <xsd:documentation
>>>>>> xml:lang="en">Warm temp.</xsd:documentation>
>>>>>>                                  </xsd:annotation>
>>>>>>                        </xsd:enumeration>
>>>>>>                        - <xsd:enumeration value="HOT">
>>>>>>                                - <xsd:annotation>
>>>>>>                                  <xsd:documentation xml:lang="en">Hot
>>>>>> temp.</xsd:documentation>
>>>>>>                                  </xsd:annotation>
>>>>>>                        </xsd:enumeration>
>>>>>>                        - <xsd:enumeration value="COLD">
>>>>>>                                - <xsd:annotation>
>>>>>>                                  <xsd:documentation
>>>>>> xml:lang="en">Cold
>>>>>> temp.</xsd:documentation>
>>>>>>                                  </xsd:annotation>
>>>>>>                          </xsd:enumeration>
>>>>>>                </xsd:restriction>
>>>>>>        </xsd:simpleType>
>>>>>>  </xsd:element>
>>>>>>
>>>>>> A method is generated and the default value for temp is set:
>>>>>>
>>>>>> function myNamespace_temperature(){
>>>>>>    ...
>>>>>>    this._temperature = COLD;
>>>>>> }
>>>>>>
>>>>>> To get my code to work, I need to turn COLD into a String. E.g.
>>>>>> 'COLD'.
>>>>>> Is
>>>>>> this a new problem with the auto generated code?
>>>>>>
>>>>>> Currently, I have manually modified the generated js file to get
>>>>>> around
>>>>>> this
>>>>>> and it is working as expected.
>>>>>>
>>>>>> Your advice would again be appreciated - if you require more info
>>>>>> please
>>>>>> just ask.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>>
>>>>>> noosy wrote:
>>>>>>>
>>>>>>> Sorry Benson, I only just got a chance to look at this today. Thanks
>>>>>>> so
>>>>>>> much - will try the snapshot tomorrow and post back my results.
>>>>>>>
>>>>>>>
>>>>>>> bimargulies wrote:
>>>>>>>>
>>>>>>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>>>>>>> snapshot.
>>>>>>>>
>>>>>>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>>>>>>> <bi...@gmail.com>wrote:
>>>>>>>>
>>>>>>>>> I will try to make sense of this tonight. However, I am likelier
>>>>>>>>> to
>>>>>>>>> be
>>>>>>>>> much
>>>>>>>>> more helpful much faster if you can either construct a test case
>>>>>>>>> you
>>>>>>>>> can
>>>>>>>>> share or at least share the XML Schema fragments relevant to this
>>>>>>>>> problem.
>>>>>>>>> This kind of problem boils down to having generated Javascript
>>>>>>>>> that
>>>>>>>>> is
>>>>>>>>> not
>>>>>>>>> on the same page as the XML Schema (assuming that your service
>>>>>>>>> corresponds
>>>>>>>>> to its schema correctly).
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>>>>>>> <vanessa.towers@dsto.defence.gov.au
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>>>>>>> generated
>>>>>>>>>> :)
>>>>>>>>>>
>>>>>>>>>> However... I tried to call a simple WS operation, I can see that
>>>>>>>>>> I
>>>>>>>>>> am
>>>>>>>>>> getting the SOAP envelope back containing the result but my
>>>>>>>>>> generated
>>>>>>>>>> js
>>>>>>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>>>> is letting me down. I will try and describe the problem as best I
>>>>>>>>>> can.
>>>>>>>>>>
>>>>>>>>>> In FireBug, the POST Response looks like this:
>>>>>>>>>>
>>>>>>>>>> <env:Envelope
>>>>>>>>>> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>>>>>    <env:Header/>
>>>>>>>>>>    <env:Body>
>>>>>>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>>>>>>            <java:result>myResult</java:result>
>>>>>>>>>>        </java:getResultResponse>
>>>>>>>>>>    </env:Body>
>>>>>>>>>> </env:Envelope>
>>>>>>>>>>
>>>>>>>>>> Within the method below, I will show you what I see in Firebug as
>>>>>>>>>> comments
>>>>>>>>>> for each line..
>>>>>>>>>>
>>>>>>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>>>> {
>>>>>>>>>>    if(client.user_onsuccess)
>>>>>>>>>>    {
>>>>>>>>>>        var responseObject = null;
>>>>>>>>>>        var element = responseXml.documentElement;  // element =
>>>>>>>>>> envelope
>>>>>>>>>>        this.jsutils.trace('responseXml: ' +
>>>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>>>        element = this.jsutils.getFirstElementChild(element); //
>>>>>>>>>> element
>>>>>>>>>> =
>>>>>>>>>> header
>>>>>>>>>>        this.jsutils.trace('first element child: ' +
>>>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>>>>>>> element =
>>>>>>>>>> null
>>>>>>>>>>        this.jsutils.trace('part element: ' +
>>>>>>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>>>>>>        this.jsutils.trace('calling
>>>>>>>>>> blah_getResultResponse_deserializeResponse');
>>>>>>>>>>        responseObject =
>>>>>>>>>> blah_getResultResponse_deserializeResponse(this.jsutils,
>>>>>>>>>> element);
>>>>>>>>>>        client.user_onsuccess(responseObject);
>>>>>>>>>>    }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> So the problem is arising where element = null.
>>>>>>>>>>
>>>>>>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>>>>>>
>>>>>>>>>> documentElement: envelope
>>>>>>>>>>  childElementCount: 2
>>>>>>>>>>  children: header, body
>>>>>>>>>>    0: header
>>>>>>>>>>      childElementCount: 0
>>>>>>>>>>    1: body
>>>>>>>>>>      childElementCount: 1
>>>>>>>>>>      children: getresultresponse
>>>>>>>>>>        0: getresultresponse
>>>>>>>>>>          childElementCount: 1
>>>>>>>>>>          children: result
>>>>>>>>>>            0: result
>>>>>>>>>>              textContent: myResult
>>>>>>>>>>
>>>>>>>>>> Is the problem my XML (I'm using a third party WSDL so I can't
>>>>>>>>>> change
>>>>>>>>>> it)
>>>>>>>>>> or
>>>>>>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>>>>>>> responseXML?
>>>>>>>>>>
>>>>>>>>>> BTW I greatly appreciate your help so far!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> bimargulies wrote:
>>>>>>>>>> >
>>>>>>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>>>>>>> snapshot.
>>>>>>>>>> >
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26619651.html
>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26620505.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26635756.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: WSD2JS Not Creating Schema Objects

Posted by Benson Margulies <bi...@gmail.com>.
You have correctly parsed me.

Option 1: a cheat. Create a fake web service that includes your schema
in the wsdl. Run wsdl2js, and then get busy with a text editor cutting
out the part you want.

Option 2: what we really need here is xsd2js, like the tool provided
in jaxb. The pattern of tool-building in CXF Isn't all that horrible.
If your job will pay you do so some CXF development, I can send you
much more detailed pointers.

Option 3: my original thought. A one-off crock to read your schema
into XmlSchema and then call the class that processes a schema set. On
consideration, this seems silly compared to (1).



On Wed, Dec 2, 2009 at 10:33 PM, noosy
<va...@dsto.defence.gov.au> wrote:
>
> Thats what I was hoping you would say. Yes, I have an XML schema for my XML,
> would you mind (briefly) explaining the steps I should take to run
> SchemaJavascriptBuilder against my schema to generate the necessary
> deserialize/serialize functions?
>
> When you say "write a bit of Java" are you saying I should write my own Java
> class that uses SchemaJavascriptBuilder.java? Sorry, I'm not familiar with
> the CXF src so if I'm on the wrong track please let me know. I realise you
> have provided the building blocks for me to run with but I'm not sure what
> to do with them.
>
>
> bimargulies wrote:
>>
>> You can use the CXF stuff all over again if you are willing to write
>> an XML schema for your XML and write a bit of Java.
>>
>> In the CXF code, it wouldn't be too hard to run
>> SchemaJavascriptBuilder to create the necessary functions to serialize
>> and deserialize. then you just parse the string appropriate Javascript
>> DOM function.
>>
>>
>> On Wed, Dec 2, 2009 at 8:33 PM, noosy
>> <va...@dsto.defence.gov.au> wrote:
>>>
>>> Thanks again!
>>>
>>> Another question if you don't mind..
>>>
>>> I'm looking for the equivalent of how I would normally use xmlbeans in
>>> Java
>>> - that I can do in JS.
>>>
>>> More specifically, my web service returns xml within xml if that makes
>>> sense. My generated wsdl2js CXF code allows me to work nicely with the
>>> 'outer' xml described by my web service but the xml response that I get
>>> back
>>> contains a metadata tag that contains more xml adhering to a schema that
>>> is
>>> not known to the web service. Currently I'm not sure what the best way is
>>> to
>>> work with the 'inner' xml in JS.
>>>
>>> If I was doing this in Java I would bind the 'inner' xml to a Java type
>>> using XML Beans but alas I am in the strange new world of JS and I am not
>>> sure what my best options are (I can only think of ugly ways). I want to
>>> use
>>> the 'inner' xml in both directions. Eg. Read the 'inner' xml from out of
>>> my
>>> WS xml response and turn it into a workable js type and take a js type
>>> and
>>> turn it into xml to pass back to my WS. I have the schema for the 'inner'
>>> xml so is there a tool that will do this for me in js?
>>>
>>>
>>>
>>> bimargulies wrote:
>>>>
>>>> I just submitted a fix to CXF-2568 which is your problem with the enum
>>>> default values.
>>>>
>>>> On Wed, Nov 18, 2009 at 6:53 PM, noosy
>>>> <va...@dsto.defence.gov.au> wrote:
>>>>>
>>>>> The latest snapshot has fixed the problem with the header  - thanks
>>>>> very
>>>>> much
>>>>> :)
>>>>>
>>>>> One question regarding the generated code for the following element
>>>>> (declared in a schema referenced by my wsdl):
>>>>>
>>>>> - <xsd:element default="COLD" name="temperature">
>>>>>        - <xsd:annotation>
>>>>>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>>>>>        </xsd:annotation>
>>>>>        - <xsd:simpleType>
>>>>>                - <xsd:restriction base="xsd:string">
>>>>>                        - <xsd:enumeration value="WARM">
>>>>>                                - <xsd:annotation>
>>>>>                                        <xsd:documentation
>>>>> xml:lang="en">Warm temp.</xsd:documentation>
>>>>>                                  </xsd:annotation>
>>>>>                        </xsd:enumeration>
>>>>>                        - <xsd:enumeration value="HOT">
>>>>>                                - <xsd:annotation>
>>>>>                                  <xsd:documentation xml:lang="en">Hot
>>>>> temp.</xsd:documentation>
>>>>>                                  </xsd:annotation>
>>>>>                        </xsd:enumeration>
>>>>>                        - <xsd:enumeration value="COLD">
>>>>>                                - <xsd:annotation>
>>>>>                                  <xsd:documentation xml:lang="en">Cold
>>>>> temp.</xsd:documentation>
>>>>>                                  </xsd:annotation>
>>>>>                          </xsd:enumeration>
>>>>>                </xsd:restriction>
>>>>>        </xsd:simpleType>
>>>>>  </xsd:element>
>>>>>
>>>>> A method is generated and the default value for temp is set:
>>>>>
>>>>> function myNamespace_temperature(){
>>>>>    ...
>>>>>    this._temperature = COLD;
>>>>> }
>>>>>
>>>>> To get my code to work, I need to turn COLD into a String. E.g. 'COLD'.
>>>>> Is
>>>>> this a new problem with the auto generated code?
>>>>>
>>>>> Currently, I have manually modified the generated js file to get around
>>>>> this
>>>>> and it is working as expected.
>>>>>
>>>>> Your advice would again be appreciated - if you require more info
>>>>> please
>>>>> just ask.
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>>
>>>>> noosy wrote:
>>>>>>
>>>>>> Sorry Benson, I only just got a chance to look at this today. Thanks
>>>>>> so
>>>>>> much - will try the snapshot tomorrow and post back my results.
>>>>>>
>>>>>>
>>>>>> bimargulies wrote:
>>>>>>>
>>>>>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>>>>>> snapshot.
>>>>>>>
>>>>>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>>>>>> <bi...@gmail.com>wrote:
>>>>>>>
>>>>>>>> I will try to make sense of this tonight. However, I am likelier to
>>>>>>>> be
>>>>>>>> much
>>>>>>>> more helpful much faster if you can either construct a test case you
>>>>>>>> can
>>>>>>>> share or at least share the XML Schema fragments relevant to this
>>>>>>>> problem.
>>>>>>>> This kind of problem boils down to having generated Javascript that
>>>>>>>> is
>>>>>>>> not
>>>>>>>> on the same page as the XML Schema (assuming that your service
>>>>>>>> corresponds
>>>>>>>> to its schema correctly).
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>>>>>> <vanessa.towers@dsto.defence.gov.au
>>>>>>>> > wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>>>>>> generated
>>>>>>>>> :)
>>>>>>>>>
>>>>>>>>> However... I tried to call a simple WS operation, I can see that I
>>>>>>>>> am
>>>>>>>>> getting the SOAP envelope back containing the result but my
>>>>>>>>> generated
>>>>>>>>> js
>>>>>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>>> is letting me down. I will try and describe the problem as best I
>>>>>>>>> can.
>>>>>>>>>
>>>>>>>>> In FireBug, the POST Response looks like this:
>>>>>>>>>
>>>>>>>>> <env:Envelope
>>>>>>>>> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>>>>    <env:Header/>
>>>>>>>>>    <env:Body>
>>>>>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>>>>>            <java:result>myResult</java:result>
>>>>>>>>>        </java:getResultResponse>
>>>>>>>>>    </env:Body>
>>>>>>>>> </env:Envelope>
>>>>>>>>>
>>>>>>>>> Within the method below, I will show you what I see in Firebug as
>>>>>>>>> comments
>>>>>>>>> for each line..
>>>>>>>>>
>>>>>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>>> {
>>>>>>>>>    if(client.user_onsuccess)
>>>>>>>>>    {
>>>>>>>>>        var responseObject = null;
>>>>>>>>>        var element = responseXml.documentElement;  // element =
>>>>>>>>> envelope
>>>>>>>>>        this.jsutils.trace('responseXml: ' +
>>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>>        element = this.jsutils.getFirstElementChild(element); //
>>>>>>>>> element
>>>>>>>>> =
>>>>>>>>> header
>>>>>>>>>        this.jsutils.trace('first element child: ' +
>>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>>>>>> element =
>>>>>>>>> null
>>>>>>>>>        this.jsutils.trace('part element: ' +
>>>>>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>>>>>        this.jsutils.trace('calling
>>>>>>>>> blah_getResultResponse_deserializeResponse');
>>>>>>>>>        responseObject =
>>>>>>>>> blah_getResultResponse_deserializeResponse(this.jsutils, element);
>>>>>>>>>        client.user_onsuccess(responseObject);
>>>>>>>>>    }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> So the problem is arising where element = null.
>>>>>>>>>
>>>>>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>>>>>
>>>>>>>>> documentElement: envelope
>>>>>>>>>  childElementCount: 2
>>>>>>>>>  children: header, body
>>>>>>>>>    0: header
>>>>>>>>>      childElementCount: 0
>>>>>>>>>    1: body
>>>>>>>>>      childElementCount: 1
>>>>>>>>>      children: getresultresponse
>>>>>>>>>        0: getresultresponse
>>>>>>>>>          childElementCount: 1
>>>>>>>>>          children: result
>>>>>>>>>            0: result
>>>>>>>>>              textContent: myResult
>>>>>>>>>
>>>>>>>>> Is the problem my XML (I'm using a third party WSDL so I can't
>>>>>>>>> change
>>>>>>>>> it)
>>>>>>>>> or
>>>>>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>>>>>> responseXML?
>>>>>>>>>
>>>>>>>>> BTW I greatly appreciate your help so far!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> bimargulies wrote:
>>>>>>>>> >
>>>>>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>>>>>> snapshot.
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26619651.html
>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26620505.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Re: WSD2JS Not Creating Schema Objects

Posted by noosy <va...@dsto.defence.gov.au>.
Thats what I was hoping you would say. Yes, I have an XML schema for my XML,
would you mind (briefly) explaining the steps I should take to run
SchemaJavascriptBuilder against my schema to generate the necessary
deserialize/serialize functions?

When you say "write a bit of Java" are you saying I should write my own Java
class that uses SchemaJavascriptBuilder.java? Sorry, I'm not familiar with
the CXF src so if I'm on the wrong track please let me know. I realise you
have provided the building blocks for me to run with but I'm not sure what
to do with them.


bimargulies wrote:
> 
> You can use the CXF stuff all over again if you are willing to write
> an XML schema for your XML and write a bit of Java.
> 
> In the CXF code, it wouldn't be too hard to run
> SchemaJavascriptBuilder to create the necessary functions to serialize
> and deserialize. then you just parse the string appropriate Javascript
> DOM function.
> 
> 
> On Wed, Dec 2, 2009 at 8:33 PM, noosy
> <va...@dsto.defence.gov.au> wrote:
>>
>> Thanks again!
>>
>> Another question if you don't mind..
>>
>> I'm looking for the equivalent of how I would normally use xmlbeans in
>> Java
>> - that I can do in JS.
>>
>> More specifically, my web service returns xml within xml if that makes
>> sense. My generated wsdl2js CXF code allows me to work nicely with the
>> 'outer' xml described by my web service but the xml response that I get
>> back
>> contains a metadata tag that contains more xml adhering to a schema that
>> is
>> not known to the web service. Currently I'm not sure what the best way is
>> to
>> work with the 'inner' xml in JS.
>>
>> If I was doing this in Java I would bind the 'inner' xml to a Java type
>> using XML Beans but alas I am in the strange new world of JS and I am not
>> sure what my best options are (I can only think of ugly ways). I want to
>> use
>> the 'inner' xml in both directions. Eg. Read the 'inner' xml from out of
>> my
>> WS xml response and turn it into a workable js type and take a js type
>> and
>> turn it into xml to pass back to my WS. I have the schema for the 'inner'
>> xml so is there a tool that will do this for me in js?
>>
>>
>>
>> bimargulies wrote:
>>>
>>> I just submitted a fix to CXF-2568 which is your problem with the enum
>>> default values.
>>>
>>> On Wed, Nov 18, 2009 at 6:53 PM, noosy
>>> <va...@dsto.defence.gov.au> wrote:
>>>>
>>>> The latest snapshot has fixed the problem with the header  - thanks
>>>> very
>>>> much
>>>> :)
>>>>
>>>> One question regarding the generated code for the following element
>>>> (declared in a schema referenced by my wsdl):
>>>>
>>>> - <xsd:element default="COLD" name="temperature">
>>>>        - <xsd:annotation>
>>>>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>>>>        </xsd:annotation>
>>>>        - <xsd:simpleType>
>>>>                - <xsd:restriction base="xsd:string">
>>>>                        - <xsd:enumeration value="WARM">
>>>>                                - <xsd:annotation>
>>>>                                        <xsd:documentation
>>>> xml:lang="en">Warm temp.</xsd:documentation>
>>>>                                  </xsd:annotation>
>>>>                        </xsd:enumeration>
>>>>                        - <xsd:enumeration value="HOT">
>>>>                                - <xsd:annotation>
>>>>                                  <xsd:documentation xml:lang="en">Hot
>>>> temp.</xsd:documentation>
>>>>                                  </xsd:annotation>
>>>>                        </xsd:enumeration>
>>>>                        - <xsd:enumeration value="COLD">
>>>>                                - <xsd:annotation>
>>>>                                  <xsd:documentation xml:lang="en">Cold
>>>> temp.</xsd:documentation>
>>>>                                  </xsd:annotation>
>>>>                          </xsd:enumeration>
>>>>                </xsd:restriction>
>>>>        </xsd:simpleType>
>>>>  </xsd:element>
>>>>
>>>> A method is generated and the default value for temp is set:
>>>>
>>>> function myNamespace_temperature(){
>>>>    ...
>>>>    this._temperature = COLD;
>>>> }
>>>>
>>>> To get my code to work, I need to turn COLD into a String. E.g. 'COLD'.
>>>> Is
>>>> this a new problem with the auto generated code?
>>>>
>>>> Currently, I have manually modified the generated js file to get around
>>>> this
>>>> and it is working as expected.
>>>>
>>>> Your advice would again be appreciated - if you require more info
>>>> please
>>>> just ask.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>> noosy wrote:
>>>>>
>>>>> Sorry Benson, I only just got a chance to look at this today. Thanks
>>>>> so
>>>>> much - will try the snapshot tomorrow and post back my results.
>>>>>
>>>>>
>>>>> bimargulies wrote:
>>>>>>
>>>>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>>>>> snapshot.
>>>>>>
>>>>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>>>>> <bi...@gmail.com>wrote:
>>>>>>
>>>>>>> I will try to make sense of this tonight. However, I am likelier to
>>>>>>> be
>>>>>>> much
>>>>>>> more helpful much faster if you can either construct a test case you
>>>>>>> can
>>>>>>> share or at least share the XML Schema fragments relevant to this
>>>>>>> problem.
>>>>>>> This kind of problem boils down to having generated Javascript that
>>>>>>> is
>>>>>>> not
>>>>>>> on the same page as the XML Schema (assuming that your service
>>>>>>> corresponds
>>>>>>> to its schema correctly).
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>>>>> <vanessa.towers@dsto.defence.gov.au
>>>>>>> > wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>>>>> generated
>>>>>>>> :)
>>>>>>>>
>>>>>>>> However... I tried to call a simple WS operation, I can see that I
>>>>>>>> am
>>>>>>>> getting the SOAP envelope back containing the result but my
>>>>>>>> generated
>>>>>>>> js
>>>>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>> is letting me down. I will try and describe the problem as best I
>>>>>>>> can.
>>>>>>>>
>>>>>>>> In FireBug, the POST Response looks like this:
>>>>>>>>
>>>>>>>> <env:Envelope
>>>>>>>> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>>>    <env:Header/>
>>>>>>>>    <env:Body>
>>>>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>>>>            <java:result>myResult</java:result>
>>>>>>>>        </java:getResultResponse>
>>>>>>>>    </env:Body>
>>>>>>>> </env:Envelope>
>>>>>>>>
>>>>>>>> Within the method below, I will show you what I see in Firebug as
>>>>>>>> comments
>>>>>>>> for each line..
>>>>>>>>
>>>>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>>>>> {
>>>>>>>>    if(client.user_onsuccess)
>>>>>>>>    {
>>>>>>>>        var responseObject = null;
>>>>>>>>        var element = responseXml.documentElement;  // element =
>>>>>>>> envelope
>>>>>>>>        this.jsutils.trace('responseXml: ' +
>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>        element = this.jsutils.getFirstElementChild(element); //
>>>>>>>> element
>>>>>>>> =
>>>>>>>> header
>>>>>>>>        this.jsutils.trace('first element child: ' +
>>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>>>>> element =
>>>>>>>> null
>>>>>>>>        this.jsutils.trace('part element: ' +
>>>>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>>>>        this.jsutils.trace('calling
>>>>>>>> blah_getResultResponse_deserializeResponse');
>>>>>>>>        responseObject =
>>>>>>>> blah_getResultResponse_deserializeResponse(this.jsutils, element);
>>>>>>>>        client.user_onsuccess(responseObject);
>>>>>>>>    }
>>>>>>>> }
>>>>>>>>
>>>>>>>> So the problem is arising where element = null.
>>>>>>>>
>>>>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>>>>
>>>>>>>> documentElement: envelope
>>>>>>>>  childElementCount: 2
>>>>>>>>  children: header, body
>>>>>>>>    0: header
>>>>>>>>      childElementCount: 0
>>>>>>>>    1: body
>>>>>>>>      childElementCount: 1
>>>>>>>>      children: getresultresponse
>>>>>>>>        0: getresultresponse
>>>>>>>>          childElementCount: 1
>>>>>>>>          children: result
>>>>>>>>            0: result
>>>>>>>>              textContent: myResult
>>>>>>>>
>>>>>>>> Is the problem my XML (I'm using a third party WSDL so I can't
>>>>>>>> change
>>>>>>>> it)
>>>>>>>> or
>>>>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>>>>> responseXML?
>>>>>>>>
>>>>>>>> BTW I greatly appreciate your help so far!
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> bimargulies wrote:
>>>>>>>> >
>>>>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>>>>> snapshot.
>>>>>>>> >
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26619651.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26620505.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: WSD2JS Not Creating Schema Objects

Posted by Benson Margulies <bi...@gmail.com>.
You can use the CXF stuff all over again if you are willing to write
an XML schema for your XML and write a bit of Java.

In the CXF code, it wouldn't be too hard to run
SchemaJavascriptBuilder to create the necessary functions to serialize
and deserialize. then you just parse the string appropriate Javascript
DOM function.


On Wed, Dec 2, 2009 at 8:33 PM, noosy
<va...@dsto.defence.gov.au> wrote:
>
> Thanks again!
>
> Another question if you don't mind..
>
> I'm looking for the equivalent of how I would normally use xmlbeans in Java
> - that I can do in JS.
>
> More specifically, my web service returns xml within xml if that makes
> sense. My generated wsdl2js CXF code allows me to work nicely with the
> 'outer' xml described by my web service but the xml response that I get back
> contains a metadata tag that contains more xml adhering to a schema that is
> not known to the web service. Currently I'm not sure what the best way is to
> work with the 'inner' xml in JS.
>
> If I was doing this in Java I would bind the 'inner' xml to a Java type
> using XML Beans but alas I am in the strange new world of JS and I am not
> sure what my best options are (I can only think of ugly ways). I want to use
> the 'inner' xml in both directions. Eg. Read the 'inner' xml from out of my
> WS xml response and turn it into a workable js type and take a js type and
> turn it into xml to pass back to my WS. I have the schema for the 'inner'
> xml so is there a tool that will do this for me in js?
>
>
>
> bimargulies wrote:
>>
>> I just submitted a fix to CXF-2568 which is your problem with the enum
>> default values.
>>
>> On Wed, Nov 18, 2009 at 6:53 PM, noosy
>> <va...@dsto.defence.gov.au> wrote:
>>>
>>> The latest snapshot has fixed the problem with the header  - thanks very
>>> much
>>> :)
>>>
>>> One question regarding the generated code for the following element
>>> (declared in a schema referenced by my wsdl):
>>>
>>> - <xsd:element default="COLD" name="temperature">
>>>        - <xsd:annotation>
>>>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>>>        </xsd:annotation>
>>>        - <xsd:simpleType>
>>>                - <xsd:restriction base="xsd:string">
>>>                        - <xsd:enumeration value="WARM">
>>>                                - <xsd:annotation>
>>>                                        <xsd:documentation
>>> xml:lang="en">Warm temp.</xsd:documentation>
>>>                                  </xsd:annotation>
>>>                        </xsd:enumeration>
>>>                        - <xsd:enumeration value="HOT">
>>>                                - <xsd:annotation>
>>>                                  <xsd:documentation xml:lang="en">Hot
>>> temp.</xsd:documentation>
>>>                                  </xsd:annotation>
>>>                        </xsd:enumeration>
>>>                        - <xsd:enumeration value="COLD">
>>>                                - <xsd:annotation>
>>>                                  <xsd:documentation xml:lang="en">Cold
>>> temp.</xsd:documentation>
>>>                                  </xsd:annotation>
>>>                          </xsd:enumeration>
>>>                </xsd:restriction>
>>>        </xsd:simpleType>
>>>  </xsd:element>
>>>
>>> A method is generated and the default value for temp is set:
>>>
>>> function myNamespace_temperature(){
>>>    ...
>>>    this._temperature = COLD;
>>> }
>>>
>>> To get my code to work, I need to turn COLD into a String. E.g. 'COLD'.
>>> Is
>>> this a new problem with the auto generated code?
>>>
>>> Currently, I have manually modified the generated js file to get around
>>> this
>>> and it is working as expected.
>>>
>>> Your advice would again be appreciated - if you require more info please
>>> just ask.
>>>
>>> Thanks
>>>
>>>
>>>
>>> noosy wrote:
>>>>
>>>> Sorry Benson, I only just got a chance to look at this today. Thanks so
>>>> much - will try the snapshot tomorrow and post back my results.
>>>>
>>>>
>>>> bimargulies wrote:
>>>>>
>>>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>>>> snapshot.
>>>>>
>>>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>>>> <bi...@gmail.com>wrote:
>>>>>
>>>>>> I will try to make sense of this tonight. However, I am likelier to be
>>>>>> much
>>>>>> more helpful much faster if you can either construct a test case you
>>>>>> can
>>>>>> share or at least share the XML Schema fragments relevant to this
>>>>>> problem.
>>>>>> This kind of problem boils down to having generated Javascript that is
>>>>>> not
>>>>>> on the same page as the XML Schema (assuming that your service
>>>>>> corresponds
>>>>>> to its schema correctly).
>>>>>>
>>>>>>
>>>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>>>> <vanessa.towers@dsto.defence.gov.au
>>>>>> > wrote:
>>>>>>
>>>>>>>
>>>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>>>> generated
>>>>>>> :)
>>>>>>>
>>>>>>> However... I tried to call a simple WS operation, I can see that I am
>>>>>>> getting the SOAP envelope back containing the result but my generated
>>>>>>> js
>>>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>>>> is letting me down. I will try and describe the problem as best I
>>>>>>> can.
>>>>>>>
>>>>>>> In FireBug, the POST Response looks like this:
>>>>>>>
>>>>>>> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>>    <env:Header/>
>>>>>>>    <env:Body>
>>>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>>>            <java:result>myResult</java:result>
>>>>>>>        </java:getResultResponse>
>>>>>>>    </env:Body>
>>>>>>> </env:Envelope>
>>>>>>>
>>>>>>> Within the method below, I will show you what I see in Firebug as
>>>>>>> comments
>>>>>>> for each line..
>>>>>>>
>>>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>>>> {
>>>>>>>    if(client.user_onsuccess)
>>>>>>>    {
>>>>>>>        var responseObject = null;
>>>>>>>        var element = responseXml.documentElement;  // element =
>>>>>>> envelope
>>>>>>>        this.jsutils.trace('responseXml: ' +
>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>        element = this.jsutils.getFirstElementChild(element); //
>>>>>>> element
>>>>>>> =
>>>>>>> header
>>>>>>>        this.jsutils.trace('first element child: ' +
>>>>>>> this.jsutils.traceElementName(element));
>>>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>>>> element =
>>>>>>> null
>>>>>>>        this.jsutils.trace('part element: ' +
>>>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>>>        this.jsutils.trace('calling
>>>>>>> blah_getResultResponse_deserializeResponse');
>>>>>>>        responseObject =
>>>>>>> blah_getResultResponse_deserializeResponse(this.jsutils, element);
>>>>>>>        client.user_onsuccess(responseObject);
>>>>>>>    }
>>>>>>> }
>>>>>>>
>>>>>>> So the problem is arising where element = null.
>>>>>>>
>>>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>>>
>>>>>>> documentElement: envelope
>>>>>>>  childElementCount: 2
>>>>>>>  children: header, body
>>>>>>>    0: header
>>>>>>>      childElementCount: 0
>>>>>>>    1: body
>>>>>>>      childElementCount: 1
>>>>>>>      children: getresultresponse
>>>>>>>        0: getresultresponse
>>>>>>>          childElementCount: 1
>>>>>>>          children: result
>>>>>>>            0: result
>>>>>>>              textContent: myResult
>>>>>>>
>>>>>>> Is the problem my XML (I'm using a third party WSDL so I can't change
>>>>>>> it)
>>>>>>> or
>>>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>>>> responseXML?
>>>>>>>
>>>>>>> BTW I greatly appreciate your help so far!
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> bimargulies wrote:
>>>>>>> >
>>>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>>>> snapshot.
>>>>>>> >
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26619651.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Re: WSD2JS Not Creating Schema Objects

Posted by noosy <va...@dsto.defence.gov.au>.
Thanks again!

Another question if you don't mind..

I'm looking for the equivalent of how I would normally use xmlbeans in Java
- that I can do in JS. 

More specifically, my web service returns xml within xml if that makes
sense. My generated wsdl2js CXF code allows me to work nicely with the
'outer' xml described by my web service but the xml response that I get back
contains a metadata tag that contains more xml adhering to a schema that is
not known to the web service. Currently I'm not sure what the best way is to
work with the 'inner' xml in JS.

If I was doing this in Java I would bind the 'inner' xml to a Java type
using XML Beans but alas I am in the strange new world of JS and I am not
sure what my best options are (I can only think of ugly ways). I want to use
the 'inner' xml in both directions. Eg. Read the 'inner' xml from out of my
WS xml response and turn it into a workable js type and take a js type and
turn it into xml to pass back to my WS. I have the schema for the 'inner'
xml so is there a tool that will do this for me in js?



bimargulies wrote:
> 
> I just submitted a fix to CXF-2568 which is your problem with the enum
> default values.
> 
> On Wed, Nov 18, 2009 at 6:53 PM, noosy
> <va...@dsto.defence.gov.au> wrote:
>>
>> The latest snapshot has fixed the problem with the header  - thanks very
>> much
>> :)
>>
>> One question regarding the generated code for the following element
>> (declared in a schema referenced by my wsdl):
>>
>> - <xsd:element default="COLD" name="temperature">
>>        - <xsd:annotation>
>>          <xsd:documentation xml:lang="en">Temp.</xsd:documentation>
>>        </xsd:annotation>
>>        - <xsd:simpleType>
>>                - <xsd:restriction base="xsd:string">
>>                        - <xsd:enumeration value="WARM">
>>                                - <xsd:annotation>
>>                                        <xsd:documentation
>> xml:lang="en">Warm temp.</xsd:documentation>
>>                                  </xsd:annotation>
>>                        </xsd:enumeration>
>>                        - <xsd:enumeration value="HOT">
>>                                - <xsd:annotation>
>>                                  <xsd:documentation xml:lang="en">Hot
>> temp.</xsd:documentation>
>>                                  </xsd:annotation>
>>                        </xsd:enumeration>
>>                        - <xsd:enumeration value="COLD">
>>                                - <xsd:annotation>
>>                                  <xsd:documentation xml:lang="en">Cold
>> temp.</xsd:documentation>
>>                                  </xsd:annotation>
>>                          </xsd:enumeration>
>>                </xsd:restriction>
>>        </xsd:simpleType>
>>  </xsd:element>
>>
>> A method is generated and the default value for temp is set:
>>
>> function myNamespace_temperature(){
>>    ...
>>    this._temperature = COLD;
>> }
>>
>> To get my code to work, I need to turn COLD into a String. E.g. 'COLD'.
>> Is
>> this a new problem with the auto generated code?
>>
>> Currently, I have manually modified the generated js file to get around
>> this
>> and it is working as expected.
>>
>> Your advice would again be appreciated - if you require more info please
>> just ask.
>>
>> Thanks
>>
>>
>>
>> noosy wrote:
>>>
>>> Sorry Benson, I only just got a chance to look at this today. Thanks so
>>> much - will try the snapshot tomorrow and post back my results.
>>>
>>>
>>> bimargulies wrote:
>>>>
>>>> https://issues.apache.org/jira/browse/CXF-2513. Fixed. Try another
>>>> snapshot.
>>>>
>>>> On Wed, Oct 21, 2009 at 7:51 AM, Benson Margulies
>>>> <bi...@gmail.com>wrote:
>>>>
>>>>> I will try to make sense of this tonight. However, I am likelier to be
>>>>> much
>>>>> more helpful much faster if you can either construct a test case you
>>>>> can
>>>>> share or at least share the XML Schema fragments relevant to this
>>>>> problem.
>>>>> This kind of problem boils down to having generated Javascript that is
>>>>> not
>>>>> on the same page as the XML Schema (assuming that your service
>>>>> corresponds
>>>>> to its schema correctly).
>>>>>
>>>>>
>>>>> On Wed, Oct 21, 2009 at 3:49 AM, noosy
>>>>> <vanessa.towers@dsto.defence.gov.au
>>>>> > wrote:
>>>>>
>>>>>>
>>>>>> Awesome, I got the latest snapshot and the missing code has been
>>>>>> generated
>>>>>> :)
>>>>>>
>>>>>> However... I tried to call a simple WS operation, I can see that I am
>>>>>> getting the SOAP envelope back containing the result but my generated
>>>>>> js
>>>>>> function ns_getResult_op_onsuccess(client, responseXml)
>>>>>> is letting me down. I will try and describe the problem as best I
>>>>>> can.
>>>>>>
>>>>>> In FireBug, the POST Response looks like this:
>>>>>>
>>>>>> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>>>>>>    <env:Header/>
>>>>>>    <env:Body>
>>>>>>        <java:getResultResponse xmlns:java="java:blah">
>>>>>>            <java:result>myResult</java:result>
>>>>>>        </java:getResultResponse>
>>>>>>    </env:Body>
>>>>>> </env:Envelope>
>>>>>>
>>>>>> Within the method below, I will show you what I see in Firebug as
>>>>>> comments
>>>>>> for each line..
>>>>>>
>>>>>> ns_getResult_op_onsuccess(client, responseXml)
>>>>>> {
>>>>>>    if(client.user_onsuccess)
>>>>>>    {
>>>>>>        var responseObject = null;
>>>>>>        var element = responseXml.documentElement;  // element =
>>>>>> envelope
>>>>>>        this.jsutils.trace('responseXml: ' +
>>>>>> this.jsutils.traceElementName(element));
>>>>>>        element = this.jsutils.getFirstElementChild(element); //
>>>>>> element
>>>>>> =
>>>>>> header
>>>>>>        this.jsutils.trace('first element child: ' +
>>>>>> this.jsutils.traceElementName(element));
>>>>>>        element = this.jsutils.getFirstElementChild(element);  //
>>>>>> element =
>>>>>> null
>>>>>>        this.jsutils.trace('part element: ' +
>>>>>> this.jsutils.traceElementName(element)); // element = null
>>>>>>        this.jsutils.trace('calling
>>>>>> blah_getResultResponse_deserializeResponse');
>>>>>>        responseObject =
>>>>>> blah_getResultResponse_deserializeResponse(this.jsutils, element);
>>>>>>        client.user_onsuccess(responseObject);
>>>>>>    }
>>>>>> }
>>>>>>
>>>>>> So the problem is arising where element = null.
>>>>>>
>>>>>> When I look at the documentElement in FireBug it looks like this:
>>>>>>
>>>>>> documentElement: envelope
>>>>>>  childElementCount: 2
>>>>>>  children: header, body
>>>>>>    0: header
>>>>>>      childElementCount: 0
>>>>>>    1: body
>>>>>>      childElementCount: 1
>>>>>>      children: getresultresponse
>>>>>>        0: getresultresponse
>>>>>>          childElementCount: 1
>>>>>>          children: result
>>>>>>            0: result
>>>>>>              textContent: myResult
>>>>>>
>>>>>> Is the problem my XML (I'm using a third party WSDL so I can't change
>>>>>> it)
>>>>>> or
>>>>>> is this a problem with the generated wsdl2js code that parses the
>>>>>> responseXML?
>>>>>>
>>>>>> BTW I greatly appreciate your help so far!
>>>>>>
>>>>>>
>>>>>>
>>>>>> bimargulies wrote:
>>>>>> >
>>>>>> > I've made a fix to the top-level problem to trunk. Try the next
>>>>>> snapshot.
>>>>>> >
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p25987975.html
>>>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26418028.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://old.nabble.com/WSD2JS-Not-Creating-Schema-Objects-tp25913919p26619651.html
Sent from the cxf-user mailing list archive at Nabble.com.