Я создаю веб-сервисы с CXF, используя код в первую очередь.Я хочу использовать пространства имен, и поэтому elementFormDefault имеет значение true .WSDL в порядке, за исключением элементов, встроенных в сложные типы, я получаю следующий элемент xs: с тегом form = "unqualified" .Но я хочу избавиться от form = unqualified tag
<xs:element form="unqualified" name="LikeSearch" type="xs:boolean"/>
Мой package-info.java выглядит так:
@javax.xml.bind.annotation.XmlSchema(namespace="http://registry.erpel.at",
attributeFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package at.erpel.registry.services.webservice;
Конечная точка Java выглядитвот так:
@WebService(targetNamespace = "http://registry.erpel.at", name="CompanyEndpoint")
public interface CompanyEndpoint {
List<Company> findCompanies(
@WebParam(name = "FindCompaniesRequest") @XmlElement(required=true) FindCompaniesRequest findCompaniesRequest)
throws ServiceFault ;
Это запрос FindCompaniesRequest:
@XmlRootElement(name = "FindCompaniesRequest")
public class FindCompaniesRequest extends AbstractRequestType implements Serializable
{
@XmlElement(name = "LikeSearch", required = true)
protected boolean likeSearch;
...
}
И, наконец, WSDL:
<xs:complexType name="FindCompaniesRequest">
<xs:complexContent>
<xs:extension base="tns:AbstractRequestType">
<xs:sequence>
<xs:element form="unqualified" name="LikeSearch" type="xs:boolean"/>
Я хочу избавиться от form = "unqualified" * тег 1025 *
Единственное решение, которое я нашел до сих пор, это добавление атрибута пространства имен к каждому отдельному элементу XMLE:
@XmlElement(name = "LikeSearch", required = true, namespace="http://registry.erpel.at")
protected boolean likeSearch;
Но я хочу, чтобы ребенокэлементы просто чтобы забрать пространство имен из родительских элементов.Я попытался добавить атрибут пространства имен в аннотацию @XMLRootElement, аннотацию @WebParam и аннотацию @XmlElement в описании метода, но безуспешно.
Кто-нибудь знает, как заставить это работать?