One more note: the default for the simple frontend is to use QUALIFIED schemas. Thus, if you are doing java first stuff and use JAX-WS on the server and simple on the client, if you don't reconfigure one or the other, you will have problems as the client will send qualified, but the server will expect unqualified.
Dan On Friday 04 April 2008, Daniel Kulp wrote: > Most likely, it's an element qualification issue. In 2.0.4, we had > to fix a bunch of issues with improper soap messages being > produced/consumed due to elements that should have been qualified not > being qualified and vice/versa. There were cases with <2.0.3 where a > VALID soap message (according to the schema) would not be accepted, > but the invalid message would be. Killed some interop scenarios > pretty badly. 2.0.4 fixed a bunch of that to make sure the valid > messages are produced/consumed. > > The thing to look at would be the raw soap message (use wireshark or > the logging interceptors) to see the raw elements and compare that to > the schema in the wsdl (from ?wsdl) to make sure they are consistent. > Most likely, the ?wsdl will say elementFormDefault=unqualified, but > the message is coming in qualified (or vice versa). (by default, > schema generated for JAX-WS wrappers are unqualified) > > That said, in 2.0.4/5, if you are doing a "java first" case like you > are, there are ways to control the generated schema to make it > qualified. There are configuration options on the JaxWsServiceFactory > (in spring) for that or you can just add a package-info.java to the > package containing the interface with an appropriate filled in > @XmlSchema thing. (Note: doing these would not be portable to other > jaxws implementations) > > > Dan > > On Thursday 03 April 2008, Zarar Siddiqi wrote: > > I had a very simple webservice running very nicely until I upgraded > > to 2.0.4. > > > > I was using a Java-first service using an Aegis binding: > > > > @WebService(targetNamespace="http://domain.com/PersonService") > > public interface PersonService { > > . . . > > } > > > > @Component > > @WebService(serviceName="PersonService", > > targetNamespace="http://domain.com/PersonService", > > endpointInterface="PersonService") > > > > public class PersonSoapService implements PersonService { > > public Email getEmail(Credentials credentials) throws > > WebServiceException { > > // get email stuff > > } > > } > > > > This was being called and working fine in 2.0.3 but since I upgraded > > to 2.0.4, the "credentials" parameter on the getEmail(..) method > > never gets populated, it's always null. Always! > > > > Any idea what the problem might be before I dive into CXF code?? Or > > maybe you can tell me what interceptor it is that converts a soap > > message to the actual parameters and I can dig deeper on my own. > > > > Any help is appreciated. > > > > Thanks, > > Zarar -- J. Daniel Kulp Principal Engineer, IONA [EMAIL PROTECTED] http://www.dankulp.com/blog
