@WebService(name="EndpointInterface", 
                  targetNamespace="
http://localhost/csc-ws", 
                  serviceName="RecipientCore")
public class RecipientCoreService {
    @WebMethod(operationName="getRecipientEligibility")
    @WebResult(name="RecipientEligibilityResponse", 
               targetNamespace="
http://localhost/csc-ws")
    public RecipientEligibilityResponse getRecipientEligibility(
            @WebParam(name="UserID", 
                      targetNamespace="
http://localhost/csc-ws") String userId,
            @WebParam(name="ConsumerName", 
                      targetNamespace="
http://localhost/csc-ws") String consumerName, 
            @WebParam(name="RecipientEligibilityRequestInputParams",
                            targetNamespace="
http://localhost/csc-ws") RecipientEligibilityRequestInputParams inputParams) 
    {  .... code in method ...
    }
}
@XmlAccessorType(value=XmlAccessType.FIELD)
@XmlType(propOrder={"recipientID", "eligibilityBeginDt", "eligibilityEndDt", "recipientEligibilityType"}) 
@XmlRootElement(name = "XXXRecEligReqInputParams")
public class RecipientEligibilityRequestInputParams implements IParams {
    @XmlElement(name="RecipientID", required=true)
    protected String recipientID;
    @XmlElement(required=false)
    protected String eligibilityBeginDt;
    @XmlElement(required=false)
    protected String eligibilityEndDt;
    @XmlElement(name="RecipientEligibilityType", required=false)
    protected RecipientEligibilityType recipientEligibilityType;
    .......... getters and setters for the fields ............
}