Можно ли извлечь атрибут (как в значении атрибута XML) из объекта RequestWrapper?
В моей реализации я хотел бы использовать значение атрибута, но не могу ссылаться на него с @WebParam, так как это только для элементов (я полагаю)
@ SOAPBinding определен как «Документ / Литерал / Упаковка»
WSDL (соответствующие разделы, целевой атрибут в **):
<s:element name="GetStatus">
<s:complexType>
<s:element minOccurs="0" maxOccurs="1" name="Entity" type="s0:Entity"/>
**<s:attribute name="Handle" type="s:string"/>
</s:complexType>
</s:element>
<s:element name="GetStatusResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="StatusCode" type="s0:StatusCode"/>
<s:element minOccurs="0" maxOccurs="1" name="Server" type="s0:Server"/>
</s:sequence>
</s:complexType>
</s:element>
<message name="GetStatusIn">
<part name="parameters" element="s0:GetStatus"/>
</message>
<message name="GetStatusOut">
<part name="parameters" element="s0:GetStatusResponse"/>
</message>
<portType name="Service">
<operation name="GetStatus">
<input message="s0:GetStatusIn"/>
<output message="s0:GetStatusOut"/>
</operation>
</portType>
Абстрактный метод SEI (может определять элементы XML с помощью WebParam):
@WebMethod(operationName="GetStatus")
@RequestWrapper(localName=“GetStatus",className="com.example.GetStatus")
@ResponseWrapper(localName=“GetStatusResponse",className="com.example.GetStatusResponse")
public void getStatus(
@WebParam(name="Entity”)Entity entity,
@WebParam(name="StatusCode",mode=WebParam.Mode.OUT)Holder<StatusCode> statusCode,
@WebParam(name="Server", mode=WebParam.Mode.OUT)Holder<Server> server
);
Реализация:
@Override
public void getStatus(
Entity entity,
Holder<StatusCode> statusCode,
Holder<Server> server
) { ... }
Очевидно, как я могу прочитать значение bean-компонента @RequestWrapper Status ( Entity через @WebParam), но есть ли способ получить доступ к значению ( Handle ) в статусе. WebParam, насколько я понимаю, не поддерживает атрибуты, только элементы.
Альтернативным способом запроса / поиска решения может быть вопрос о том, как получить доступ к полному компоненту, на который ссылается RequestWrapper, в данном случае GetStatus .
Я знаю, что если я перейду к Document / Literal / Bare, у меня могут быть просто параметры и возвращаемое значение, отражающие bean-компонент, но я бы предпочел решить эту проблему, используя обернутую, поскольку все информационные данные указывают на то, что это наиболее широко предпочтительное связывание.