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

Reply via email to