Я использую cxf 2.x для разработки веб-сервиса. Вот мой класс веб-службы
@WebService(name = "XXXWS", targetNamespace = "http://www.XXX.com/XXXWS", portName = "XXXWSPort", serviceName = "XXXWSService")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public class XXXWS {
@WebMethod(operationName = "XXXMethod", action = "http://www.XXX.com/XXXWS/XXXX")
public XXXResponse XXXMethod(
@WebParam(name = "XXXRequest") XXXRequest xxxRequest) {
// implement code here
return response;
}
private static String getServiceURL(Environment env, String actionCode){ //<-- RED CROSS here
//implement code here
return url;
}
}
В eclipse у метода getServiceURL есть КРАСНЫЙ КРЕСТ (это просто обычный метод, а не WEBMETHOD). Это говорит
Multiple markers at this line
- Document Literal Bare operations must have unique XML elements for the input and output messages across all operations on the
Web Service : '{http://www.XXX.com/XXXWS}getServiceURL'
- Document literal bare methods may have only one non-header IN parameter
Поэтому, если я использую только ОДИН параметр в качестве входных данных для метода getServiceURL ИЛИ я использую SOAPBinding.ParameterStyle.WRAPPED, КРАСНЫЙ КРЕСТ исчезнет. Но здесь мне нужно иметь 2 параметра.
Мой вопрос: если мне нужно использовать здесь 2 параметра и по-прежнему использовать SOAPBinding.ParameterStyle.BARE, как я могу удалить КРАСНЫЙ КРЕСТ. Я думаю, что есть способ настроить Eclipse для удаления такого рода ошибок.