JiBX 1.2.2 test build

View: New views
7 Messages — Rating Filter:   Alert me  

JiBX 1.2.2 test build

by DSosnoski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The JiBX 1.2.2 release is finally about ready to go. There are many
changes in and new features in this release, so in the hope of making
sure it's solid I'm posting a test build at
http://www.jibx.org/jibx_1_2_2-SNAPSHOT.zip to encourage users to give
it a try. Since this is not a formal release please don't use Jira for
any new issues which weren't present in 1.2.1 - just email this list,
and I'll try to make sure anything new is fixed before the official
1.2.2 release, which will occur next week.

Some of the nicer features of this release include:

   1. Support for modular code and binding generation from schemas, with
      separately-compilable bindings
   2. Support for Joda date/time classes, along with a much wider
      variety of date/time conversions
   3. Support for schema-compatible whitespace handling when
      deserializing values

There are a few more problems in org.jibx.extras I'd like to clean up
before the actual release, but I'll try to avoid any significant changes
to code outside this package. I'll also extend some parts of the
documentation, especially for the CodeGen customization examples.

  - Dennis

--
Dennis M. Sosnoski
XML and Web Services in Java
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users

Re: JiBX 1.2.2 test build

by Nigel Charman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dennis

I'm getting the following error using 1.2.2-SNAPSHOT with a JiBX/WS project:
org.jibx.runtime.JiBXException: Missing required attribute "MsgType" (line 4, col 108, in 127.0.0.1)
    at org.jibx.runtime.impl.UnmarshallingContext.attributeText(UnmarshallingContext.java:975)
    at nz.co.xxx.gen.response.ResponseMessage.JiBX_binding_unmarshalAttr_1_0(Unknown Source)
    at nz.co.xxx.gen.response.JiBX_bindingResponseMessage_access.unmarshal()
    at nz.co.xxx.gen.service.ProcessResponseMessage.JiBX_binding_unmarshal_1_0(Unknown Source)
    at nz.co.xxx.gen.service.JiBX_bindingProcessResponseMessage_access.unmarshal()
    at org.jibx.ws.io.UnmarshallingPayloadReader.invoke(UnmarshallingPayloadReader.java:118)
This project includes neither xpp3.jar nor wstx-asl.jar in its WEB-INF/lib folder.  The problem goes away if:
  1. xpp3.jar is added to WEB-INF/lib, or
  2. wstx-asl.jar is added to WEB-INF/lib, or
  3. WEB-INF/lib/jibx-run.jar is replaced by the 1.2.1 version
A similar problem manifests with the JiBX/WS seismic example after removing xpp3.jar from its WEB-INF/lib folder:
ERROR 2009-10-18 22:18:17,376 servlet.PathBasedServiceMapper - Error reading service definition /WEB-INF/quake-service.xml for service quake-service
org.jibx.runtime.JiBXException: Missing required attribute "method" (line 3, col 32)
    at org.jibx.runtime.impl.UnmarshallingContext.attributeText(UnmarshallingContext.java:975)
    at org.jibx.ws.server.OperationDefinition.JiBX_service_mapping_unmarshalAttr_1_0(OperationDefinition.java)
    at org.jibx.ws.server.JiBX_MungeAdapter.JiBX_service_mapping_unmarshal_1_0()
    at org.jibx.ws.server.ServiceDefinition.JiBX_service_mapping_unmarshal_1_0(ServiceDefinition.java)
    at org.jibx.ws.server.JiBX_service_mappingServiceDefinition_access.unmarshal()
    at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2757)
    at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(UnmarshallingContext.java:2900)
    at org.jibx.ws.http.servlet.PathBasedServiceMapper.createServiceDefinitions(PathBasedServiceMapper.java:145)
The environment is Tomcat 6.0.20, JDK 1.6.0.12 amd64.  I've been unable to reproduce the problem outside of Tomcat yet.

Let me know how I can help debug it further.

cheers
nigel

Dennis Sosnoski wrote:
The JiBX 1.2.2 release is finally about ready to go. There are many 
changes in and new features in this release, so in the hope of making 
sure it's solid I'm posting a test build at 
http://www.jibx.org/jibx_1_2_2-SNAPSHOT.zip to encourage users to give 
it a try. Since this is not a formal release please don't use Jira for 
any new issues which weren't present in 1.2.1 - just email this list, 
and I'll try to make sure anything new is fixed before the official 
1.2.2 release, which will occur next week.

Some of the nicer features of this release include:

   1. Support for modular code and binding generation from schemas, with
      separately-compilable bindings
   2. Support for Joda date/time classes, along with a much wider
      variety of date/time conversions
   3. Support for schema-compatible whitespace handling when
      deserializing values

There are a few more problems in org.jibx.extras I'd like to clean up 
before the actual release, but I'll try to avoid any significant changes 
to code outside this package. I'll also extend some parts of the 
documentation, especially for the CodeGen customization examples.

  - Dennis

  

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users

Re: JiBX 1.2.2 test build

by Nigel Charman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A few comments on codegen from schema with the SNAPSHOT release:
  • There are a lot of nice little improvements to the generated code :-)
  • When generating code for multiple schema, the default package name for the "wrapper" binding.xml has changed.  With 1.2.1, the package name appeared to be set to the parent package of all the package names contained in the schema-set.  With 1.2.2, it appears to use the package name from the first schema in the schema-set.  Furthermore, setting the "package=" customization on the schema-set does not modify the package name of the "wrapper" binding.xml.
  • When using the new binding-file-name customization, I'm getting a "JiBXException: Unknown namespace". Stack trace below.  I couldn't reproduce this on a simple example.  I'll try and create a test case for this tomorrow.
     [java] Exception in thread "main" org.jibx.runtime.JiBXException: Unknown namespace URI http://xxx/complex-types.xsd
     [java]     at org.jibx.runtime.QName.serialize(QName.java:325)
     [java]     at org.jibx.binding.model.StructureElement.getQualifiedMapAs(StructureElement.java:238)
     [java]     at org.jibx.binding.model.StructureElement.JiBX_normal_marshalAttr_5_0(StructureElement.java)
     [java]     at org.jibx.binding.model.JiBX_normalStructureElement_access.marshal()
     [java]     at org.jibx.binding.model.NestingElementBase.JiBX_normal_marshal_2_1(NestingElementBase.java)
     [java]     at org.jibx.binding.model.ContainerElementBase.JiBX_normal_marshal_3_0(ContainerElementBase.java)
     [java]     at org.jibx.binding.model.TemplateElementBase.JiBX_normal_marshal_4_0(TemplateElementBase.java)
     [java]     at org.jibx.binding.model.MappingElementBase.JiBX_normal_marshal_5_0(MappingElementBase.java)
     [java]     at org.jibx.binding.model.MappingElement.JiBX_normal_marshal_6_0(MappingElement.java)
     [java]     at org.jibx.binding.model.JiBX_normalMappingElement_access.marshal()
     [java]     at org.jibx.binding.model.BindingElement.JiBX_normal_marshal_3_2(BindingElement.java)
     [java]     at org.jibx.binding.model.JiBX_normalBindingElement_access.marshal()
     [java]     at org.jibx.binding.model.BindingElement.marshal(BindingElement.java)
     [java]     at org.jibx.binding.model.BindingOrganizer.writeBindings(BindingOrganizer.java:780)
     [java]     at org.jibx.schema.codegen.CodeGen.writeBindings(CodeGen.java:1744)
     [java]     at org.jibx.schema.codegen.CodeGen.main(CodeGen.java:2235)
  • The generator is maybe trying to be too clever in its pluralization.  For an element with name="Relay" minOccurs="0" maxOccurs="unbounded", the generator creates the plural Relaies - maybe this is French :-) :
        private List<Relay> relayList = new ArrayList<Relay>();

        /**
         * Get the list of 'Relay' element items.
         *
         * @return list
         */
        public List<Relay> getRelaies() {
            return relayList;
        }
In general, I think I'd rather see plurals such as getBodys() spelt wrongly.  Or maybe just play it safe with getRelayList() ?

  • The new prefix customization is great.  It would be worth documenting that specifying an empty string for the prefix customization removes the prefix="..." attribute on the namespace of the generated binding (making it the default element).

nigel.

Dennis Sosnoski wrote:
The JiBX 1.2.2 release is finally about ready to go. There are many 
changes in and new features in this release, so in the hope of making 
sure it's solid I'm posting a test build at 
http://www.jibx.org/jibx_1_2_2-SNAPSHOT.zip to encourage users to give 
it a try. Since this is not a formal release please don't use Jira for 
any new issues which weren't present in 1.2.1 - just email this list, 
and I'll try to make sure anything new is fixed before the official 
1.2.2 release, which will occur next week.

Some of the nicer features of this release include:

   1. Support for modular code and binding generation from schemas, with
      separately-compilable bindings
   2. Support for Joda date/time classes, along with a much wider
      variety of date/time conversions
   3. Support for schema-compatible whitespace handling when
      deserializing values

There are a few more problems in org.jibx.extras I'd like to clean up 
before the actual release, but I'll try to avoid any significant changes 
to code outside this package. I'll also extend some parts of the 
documentation, especially for the CodeGen customization examples.

  - Dennis

  

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users

Re: JiBX 1.2.2 test build

by DSosnoski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Nigel,

Sounds like an issue due to differences between the Woodstox StAX parser
and the Sun version shipped in 1.6.0. I'll look into this tomorrow.

Thanks,

  - Dennis


Nigel Charman wrote:

> Hi Dennis
>
> I'm getting the following error using 1.2.2-SNAPSHOT with a JiBX/WS
> project:
>
>     org.jibx.runtime.JiBXException: Missing required attribute
>     "MsgType" (line 4, col 108, in 127.0.0.1)
>         at
>     org.jibx.runtime.impl.UnmarshallingContext.attributeText(UnmarshallingContext.java:975)
>         at
>     nz.co.xxx.gen.response.ResponseMessage.JiBX_binding_unmarshalAttr_1_0(Unknown
>     Source)
>         at
>     nz.co.xxx.gen.response.JiBX_bindingResponseMessage_access.unmarshal()
>         at
>     nz.co.xxx.gen.service.ProcessResponseMessage.JiBX_binding_unmarshal_1_0(Unknown
>     Source)
>         at
>     nz.co.xxx.gen.service.JiBX_bindingProcessResponseMessage_access.unmarshal()
>         at
>     org.jibx.ws.io.UnmarshallingPayloadReader.invoke(UnmarshallingPayloadReader.java:118)
>
> This project includes neither xpp3.jar nor wstx-asl.jar in its
> WEB-INF/lib folder.  The problem goes away if:
>
>    1. xpp3.jar is added to WEB-INF/lib, or
>    2. wstx-asl.jar is added to WEB-INF/lib, or
>    3. WEB-INF/lib/jibx-run.jar is replaced by the 1.2.1 version
>
> A similar problem manifests with the JiBX/WS seismic example after
> removing xpp3.jar from its WEB-INF/lib folder:
>
>     ERROR 2009-10-18 22:18:17,376 servlet.PathBasedServiceMapper -
>     Error reading service definition /WEB-INF/quake-service.xml for
>     service quake-service
>     org.jibx.runtime.JiBXException: Missing required attribute
>     "method" (line 3, col 32)
>         at
>     org.jibx.runtime.impl.UnmarshallingContext.attributeText(UnmarshallingContext.java:975)
>         at
>     org.jibx.ws.server.OperationDefinition.JiBX_service_mapping_unmarshalAttr_1_0(OperationDefinition.java)
>         at
>     org.jibx.ws.server.JiBX_MungeAdapter.JiBX_service_mapping_unmarshal_1_0()
>         at
>     org.jibx.ws.server.ServiceDefinition.JiBX_service_mapping_unmarshal_1_0(ServiceDefinition.java)
>         at
>     org.jibx.ws.server.JiBX_service_mappingServiceDefinition_access.unmarshal()
>         at
>     org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2757)
>         at
>     org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(UnmarshallingContext.java:2900)
>         at
>     org.jibx.ws.http.servlet.PathBasedServiceMapper.createServiceDefinitions(PathBasedServiceMapper.java:145)
>
> The environment is Tomcat 6.0.20, JDK 1.6.0.12 amd64.  I've been
> unable to reproduce the problem outside of Tomcat yet.
>
> Let me know how I can help debug it further.
>
> cheers
> nigel
>
> Dennis Sosnoski wrote:
>> The JiBX 1.2.2 release is finally about ready to go. There are many
>> changes in and new features in this release, so in the hope of making
>> sure it's solid I'm posting a test build at
>> http://www.jibx.org/jibx_1_2_2-SNAPSHOT.zip to encourage users to give
>> it a try. Since this is not a formal release please don't use Jira for
>> any new issues which weren't present in 1.2.1 - just email this list,
>> and I'll try to make sure anything new is fixed before the official
>> 1.2.2 release, which will occur next week.
>>
>> Some of the nicer features of this release include:
>>
>>    1. Support for modular code and binding generation from schemas, with
>>       separately-compilable bindings
>>    2. Support for Joda date/time classes, along with a much wider
>>       variety of date/time conversions
>>    3. Support for schema-compatible whitespace handling when
>>       deserializing values
>>
>> There are a few more problems in org.jibx.extras I'd like to clean up
>> before the actual release, but I'll try to avoid any significant changes
>> to code outside this package. I'll also extend some parts of the
>> documentation, especially for the CodeGen customization examples.
>>
>>   - Dennis
>>
>>  
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
>
> _______________________________________________
> jibx-users mailing list
> jibx-users@...
> https://lists.sourceforge.net/lists/listinfo/jibx-users
>  

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users

Re: JiBX 1.2.2 test build

by DSosnoski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've updated the snapshot with a few more changes, including a couple
which effect code generation from schema along with some in the binding
and schema generation. Hopefully these will be the final changes to the
code outside of org.jibx.extras, where I still plan to fix some issues.

  - Dennis


Dennis Sosnoski wrote:

> The JiBX 1.2.2 release is finally about ready to go. There are many
> changes in and new features in this release, so in the hope of making
> sure it's solid I'm posting a test build at
> http://www.jibx.org/jibx_1_2_2-SNAPSHOT.zip to encourage users to give
> it a try. Since this is not a formal release please don't use Jira for
> any new issues which weren't present in 1.2.1 - just email this list,
> and I'll try to make sure anything new is fixed before the official
> 1.2.2 release, which will occur next week.
>
> Some of the nicer features of this release include:
>
>    1. Support for modular code and binding generation from schemas, with
>       separately-compilable bindings
>    2. Support for Joda date/time classes, along with a much wider
>       variety of date/time conversions
>    3. Support for schema-compatible whitespace handling when
>       deserializing values
>
> There are a few more problems in org.jibx.extras I'd like to clean up
> before the actual release, but I'll try to avoid any significant changes
> to code outside this package. I'll also extend some parts of the
> documentation, especially for the CodeGen customization examples.
>
>   - Dennis
>
>  

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users

Re: JiBX 1.2.2 test build

by DSosnoski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Nigel Charman wrote:
> A few comments on codegen from schema with the SNAPSHOT release:
>
>     * There are a lot of nice little improvements to the generated
>       code :-)
>

Glad to hear that!

>     * When generating code for multiple schema, the default package
>       name for the "wrapper" binding.xml has changed.  With 1.2.1, the
>       package name appeared to be set to the parent package of all the
>       package names contained in the schema-set.  With 1.2.2, it
>       appears to use the package name from the first schema in the
>       schema-set.  Furthermore, setting the "package=" customization
>       on the schema-set does not modify the package name of the
>       "wrapper" binding.xml.
>

I'll check into this one.

>    *
>
>
>     * When using the new binding-file-name customization, I'm getting
>       a "JiBXException: Unknown namespace". Stack trace below.  I
>       couldn't reproduce this on a simple example.  I'll try and
>       create a test case for this tomorrow.
>
>              [java] Exception in thread "main"
>         org.jibx.runtime.JiBXException: Unknown namespace URI
>         http:///xxx//complex-types.xsd
>              [java]     at
>         org.jibx.runtime.QName.serialize(QName.java:325)
>         ...
>            
>

Damn, that's annoying. If you can duplicate this I'll track down what's
going wrong, but from the stack trace it probably relates to the issues
involved in splitting up the bindings as specified by the
customizations. This is inherently messy, so it may be prone to failures
until I learn where the snakes are hiding in the grass (by getting bitten).

Hmmm. I really need another metaphor more appropriate to New Zealand...
"where the kiwi is hiding in the bush" just doesn't do it. "Where the
racists are hiding in the ministries", perhaps - but too subtle. :-(

>
>     * The generator is maybe trying to be too clever in its
>       pluralization.  For an element with name="Relay" minOccurs="0"
>       maxOccurs="unbounded", the generator creates the plural Relaies
>       - maybe this is French :-) :
>
>                 ...
>
>     In general, I think I'd rather see plurals such as getBodys()
>     spelt wrongly.  Or maybe just play it safe with getRelayList() ?
>

I'll improve the algorithm another notch, which will take care of this
particular case. Handling it in general is much more difficult, even if
we're only dealing with English (see
http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html for
instance). You can always override the default NameConverter in
customizations to use your own implementation, which can be as simple
(or clever) as you want.

>
>     * The new prefix customization is great.  It would be worth
>       documenting that specifying an empty string for the prefix
>       customization removes the prefix="..." attribute on the
>       namespace of the generated binding (making it the default element).
>

Will add that note - thanks for pointing this out, I'd forgotten that
part. :-)

  - Dennis

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users

Re: JiBX 1.2.2 test build

by Nigel Charman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dennis

Dennis Sosnoski wrote:
Damn, that's annoying. If you can duplicate this I'll track down what's 
going wrong, but from the stack trace it probably relates to the issues 
involved in splitting up the bindings as specified by the 
customizations. This is inherently messy, so it may be prone to failures 
until I learn where the snakes are hiding in the grass (by getting bitten).
  
I've sent a cut down example off list.
Hmmm. I really need another metaphor more appropriate to New Zealand... 
"where the kiwi is hiding in the bush" just doesn't do it. "Where the 
racists are hiding in the ministries", perhaps - but too subtle. :-(
  
The eels hiding in the stream maybe? I'm sure there must be an appropriate Maori metaphor.  I looked in my dictionary under "tuna" (the Maori word for "eel") but there weren't any metaphors there..
I'll improve the algorithm another notch, which will take care of this 
particular case. Handling it in general is much more difficult, even if 
we're only dealing with English (see 
http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html for 
instance). You can always override the default NameConverter in 
customizations to use your own implementation, which can be as simple 
(or clever) as you want
Thanks.  I'd overlooked the NameConverter customization.  But I guess another notch on the algorithm would work pretty well - change "y" to "ies" if it follows a consonant or to "ys" after a vowel. I'm sure there still be exceptions to the rule!

nigel.

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
jibx-users mailing list
jibx-users@...
https://lists.sourceforge.net/lists/listinfo/jibx-users