IBM Support

PM37415: JAX-WS JAXB web service client generating custom binding declarations fails to compile during wsimport

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • A JAX-WS JAXB web service client generating custom binding
    declarations fails to compile during wsimport.
    
    An example error:
    
    Errors occurred during wsimport.
      Errors occurred during wsimport.
      [failed to localize] wsimport.ParsingWSDL()
    [failed to localize] wsimport.GeneratingCode()
    [failed to localize] wsimport.CompilingCode()
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Adapter1.java:9:
    package some.sample does not exist
    import some.sample.SomeClass;
                            ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Adapter1.java:12:
    cannot find symbol
    symbol: class SomeClass
        extends XmlAdapter?String, SomeClass?
                                  ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Adapter1.java:16:
    cannot find symbol
    symbol  : class SomeClass
    location: class some.ejb.Adapter1
        public SomeClass unmarshal(String value) {
              ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Adapter1.java:20:
    cannot find symbol
    symbol  : class SomeClass
    location: class some.ejb.Adapter1
        public String marshal(SomeClass value) {
                              ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Person.java:13:
    package some.sample does not exist
    import some.sample.SomeClass;
                            ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Person.java:50:
    cannot find symbol
    symbol  : class SomeClass
    location: class some.ejb.Person
        protected SomeClass SomeClass;
                  ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Person.java:114:
    cannot find symbol
    symbol  : class SomeClass
    location: class some.ejb.Person
        public SomeClass getSomeClass() {
              ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Person.java:126:
    cannot find symbol
    symbol  : class SomeClass
    location: class some.ejb.Person
        public void setSomeClass(SomeClass value) {
                            ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.proj
    ects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP30253949
    46566562541\some\sample\Adapter1.java:17:
    cannot find symbol
    symbol  : class SomeClass
    location: class some.ejb.Adapter1
            return new SomeClass(value);
                      ^
    9 errors
    [failed to localize] wscompile.compilationFailed()
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When generating JAX-WS code using the web service or client
    wizards in IBM Rational Application Developer the wsimport
    tool encounters a compilation error due to being unable to
    find a class even when the class does exist in the
    workspace. This can occur when specifying custom JAXB
    binding files to use existing classes in the workspace as
    JAXB binding values.
    
    This issue is caused by the wsimport compiling the generated
    java code outside of the workspace in a temporary directory.
    

Problem conclusion

  • The compilation done by wsimport is redundant since the
    generated code is compiled once copied into the workspace.
    
    To fix this the JAX-WS wizards were changed to pass in
    "-Xnocompile" option to the wsimport tool.
    
    The fix for this issue is included in Rational Application
    Developer version 8.0.3.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM37415

  • Reported component name

    RATL APP DEV WI

  • Reported component ID

    5724J1901

  • Reported release

    801

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-04-19

  • Closed date

    2011-06-20

  • Last modified date

    2011-06-20

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    RATL APP DEV WI

  • Fixed component ID

    5724J1901

Applicable component levels

  • R801 PSN

       UP



Document information

More support for: Rational Application Developer for WebSphere Software

Software version: 8.0.1

Reference #: PM37415

Modified date: 20 June 2011