IBM Support

PM38080: JAX-WS JAXB web service client generation Custom Binding Declarations wscompile failure on existing classes

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In the JAX-WS client generation wizard wscompile / compilation
    fails because the product is not able to find existing class
    files even though they exists
    in the target project and is referred to by the JAXB 'xjb' file:
    
    mapConverterPropertyDeclaration.xjb
    
    that has been Added to Custom Binding Declarations
    after selecting ?Specify JAX-WS or JAXB binding files?.
    

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 wsimport
    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.
    
    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\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\some\sample\Adapter1.java:9: package
    some.sample does not exist
    import some.sample.SomeClass;
       ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\some\sample\Adapter1.java:12: cannot
    find symbol
    symbol: class SomeClass
        extends XmlAdapter?String, SomeClass?
             ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\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\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\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\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\some\sample\Person.java:13: package
    some.sample does not exist
    import some.sample.SomeClass;
       ^
    D:\workspace\.metadata\.plugins\org.eclipse.core.resources\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\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\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\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\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\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\.
    projects\JAXBClientWebWAS7\com.ibm.ast.ws.jaxws.emitter\TEMP
    3025394946566562541\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()
    

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 wsimport and is corrected in
    Rational Application Developer v7.5.5.4.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM38080

  • Reported component name

    RATL APP DEV WI

  • Reported component ID

    5724J1901

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-04-29

  • Closed date

    2011-06-30

  • Last modified date

    2011-06-30

  • 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

  • R750 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSRTLW","label":"Rational Application Developer for WebSphere Software"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
30 June 2011