Hi, sorry for bothering you again, but as of the moment I haven't got any information I can work on.
If it is not possible to validate SOAP messages against the Schema from the WSDL out of the box, or not even with a homegrown handler, I really like to know. I'll stfu then. The problem once again. Here are my steps: 1) Building a WSDL by hand. 2) Generating classes and deploy.wsdd with WSDL2Java. 3) copying the service element from deploy.wsdd to server-config.wsdd. Changing the name of the implementation class by hand. 4) deploying generated classes plus server-config.wsdd. 5) restarting axis. When I now write a test client, which sends a message violating the schema, like sending a String with 18 characters instead of 12, which is the constraint from the WSDL, it doesn't fail, which it should. Anyway, I believe the reason for that is, WSDL2Java ignores the restrictions from the Schema and the generated classes and deploy.wsdd don't contain this information anymore. When accessing the ?wsdl from axis it returns a WSDL without the constraints and also turned all defined simple types to complex types. Somebody on the list, Luciano, mentioned to use the wsdlFile-tag in server-config.wsdd to use the original wsdl (the one with all the constraints in place etc.). That I did... Now ?wsdl returns the original WSDL, but this seems to be about the only thing Axis does with my WSDL (serving it). It still doesn't reject messages not obeying the defined constraints. I left everything else in place in the server-config.wsdd. Was that ok? What else can I do? How do other people use Axis with validation? Do I miss something? This seems to be a very basic and neccessary task, doesn't it? I am using Axis 1.1 with Tomcat 5.0.x. And I can only use Axis 1.1 for the moment. On a sidebar... When I restrict a simple type, like a String, Axis always makes it a complex type, which bloats the generated code seriously. Any way around this? Cheers, Mariano
