Actually, here's what I've been doing, but I'm sorta debugging as we speak... so maybe this might clear up somethings for yah (or me for that matter).
- I first generate my Java interface/implementation classes
- I use an ant task to generate the wsdl / jaxrpc-mapping file
- From what I can garner, sometimes you have to override the type mappings as supplied by the mapping file generated by wscompile, so you can use a w4ee-deployment.xml file to do custom types, etc. [For arrays, etc]
- I then war everything up making sure the wsdl, web.xml, jaxrp-mapping, and the webservices.xml file are in the appropriate locations along with any other libs.
- Copy to deploy directory;
- Start up JBoss.
As for where I am now, I've done all the above, but it appears that I have an OperationDesc out of sync whenever I try to add a custom type to the w4ee-deployment.xml.
thank you kanno,
i generate wsdl, jaxrpc-mapping and server artifact with wscompile option gen:server and set werb service style as document literal. Anything go well (i can get wsdl from wsdl URL). i can invoke service (business logoc done!!!) via dii client but return type is missing.it still need Client artifacts like "xxxEndpoint_xxx_ResponseStruct" . how can solve this problem. do i need ws4ee-deployment.xml for addittional serialize and remove java-type-mapping tag in jaxrpc-mapping.xml or gen:Client Artifact and deploy it with Client side???
The reason why ws4ee-deployment.xml is sometimes needed is that the underlying Axis implementation does not look at the XML schema definition of complex types. There is no schema parser in Axis, which I think is a fundamental problem especially with document style webservices where the entire payload is defined by schema.
ws4ee-mapping.xml tries to breach that gap by telling the marshalling layer exactly how to put complex types on the wire.
Its best practice to stick to wscompile, the Axis toolset (ant tasks) should be be used.
thank you again Thomas,
As i understand ,if i don't want to use server and client artifacts (stub and tie class) ... i have to override type-mapping in jaxrpc-mapping.xml with mapping in ws4ee-deployment.xml to serialize custom java bean class.
am i closing the right way???
wscompile should generate the beans that are used in endpoint operation parameters and map them in jaxrpc-mapping.xml. It should be sufficient.