Я использую 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 есть метод RED CROSS в методе 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 для удаления такого рода ошибки