Hi,

When I include an @XmlRequired attribute the generated WSDL wrapper
element has the namespace of the service rather than the WebParam
element itself.  So I have the following interface:

@WebService(name="PersonService",
targetNamespace="http://pellcorp.com/PersonService";)
public interface PersonService {
        @WebResult(name = "PersonResult", 
targetNamespace="http://pellcorp.com/Person";)
        @WebMethod(operationName = "retrievePersonScore")
        PersonResult retrievePersonScore(
                @XmlElement(required = true) @WebParam(name = "Person",
targetNamespace="http://pellcorp.com/Person";) Person request);
}

Without including @XmlElement(required = true) the Person element in
the WSDL is in the http://pellcorp.com/Person namespace.  When I
include the @XmlElement(required = true) its in the
http://pellcorp.com/PersonService namespace.  I tried this same
operation with JAX-WS 2.2.1 metro and it works as I expected.  This
looks like a bug to me.  I can workaround it by providing my own
@RequestWrapper

I know there were changes made in 2.3.1 to fix the fact that the
@XmlElement(required = true) was being ignored.  Any chance that the
GeneratedWrapper has another bug?  The Person jaxb class has a
XmlRootElement like so:

@XmlRootElement(name="Person", namespace="http://pellcorp.com/Person";)

Thanks for any advice

Cheers
Jason

Reply via email to