How can we get Axis WSDL->Java to use our custom beans when generating static stubs and skeletons.

When taking a completed server-side implementation, where the interface accepts and returns types that are either base types or types that are consistent with JavaBean or Enumeration conventions, we would like Axis to be able to use the base types and our classes versus converting to/from a stub generated class. We've gone through the DII interface, registered the proper serializers/de-serializers to make approach work. However, we would like to make this approach work with the WSDL->Java Stubs/Skeletons versus creating stubs/skeletons by hand.

We have defined our types with WSDL and mapped the types name to a java package that corresponds to our custom beans. However, the WSDL->Java process wants to generate a class with that name/specification; possibly overwriting the version in our source tree (if we let it).

The WSDL->Java process has the "noimports" flag, but when we arrange our custom types in a separate file and state that no code should be generated for imported WSDL, we get "Caused by: java.io.IOException: Type {urn:sample2}EWMName is referenced but not defined."; saying it cannot resolve the code that was not generated. The only way to eliminate the error is to have it create the class.

The brute force way of fixing this is to generate the code and then remove the type classes before copying the stubs/skeletons into the source tree. Is there a more elegant way intended under Axis?


Reply via email to