Package com.sun.xml.ws.client.sei
Class ResponseBuilder
java.lang.Object
com.sun.xml.ws.client.sei.ResponseBuilder
- Direct Known Subclasses:
ResponseBuilder.AttachmentBuilder,ResponseBuilder.Body,ResponseBuilder.Composite,ResponseBuilder.DocLit,ResponseBuilder.Header,ResponseBuilder.NullSetter,ResponseBuilder.RpcLit
Reads a response
Message, disassembles it, and moves obtained Java values
to the expected places.- Author:
- Kohsuke Kawaguchi, Jitendra Kotamraju
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classReads an Attachment into a Java parameter.static final classReads the whole payload into a single JAXB bean.static final classResponseBuilderthat is a composition of multipleResponseBuilders.static final classTreats a payload as multiple parts wrapped into one element, and processes all such wrapped parts.static final classReads a header into a JAXB object.static final classResponseBuilderthat sets the VM uninitialized value to the type.static final classTreats a payload as multiple parts wrapped into one element, and processes all such wrapped parts. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ResponseBuilderThe singleton instance that produces null return value.ResponseBuilder.PartBuilderkeyed by the element name (inside the wrapper element.)protected QName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectgetVMUninitializedValue(Type type) Returns the 'uninitialized' value for the given type.static final StringGets the WSDL part name of this attachment.abstract ObjectreadResponse(Message reply, Object[] args) Reads a responseMessage, disassembles it, and moves obtained Java values to the expected places.protected ObjectreadWrappedResponse(Message msg, Object[] args)
-
Field Details
-
wrappedParts
ResponseBuilder.PartBuilderkeyed by the element name (inside the wrapper element.) -
wrapperName
-
NONE
The singleton instance that produces null return value. Used for operations that doesn't have any output.
-
-
Constructor Details
-
ResponseBuilder
public ResponseBuilder()
-
-
Method Details
-
readResponse
public abstract Object readResponse(Message reply, Object[] args) throws javax.xml.bind.JAXBException, XMLStreamException Reads a responseMessage, disassembles it, and moves obtained Java values to the expected places.- Parameters:
reply- The replyMessageto be de-composed.args- The Java arguments given to the SEI method invocation. Some parts of the reply message may be set toHolders in the arguments.- Returns:
- If a part of the reply message is returned as a return value from the SEI method, this method returns that value. Otherwise null.
- Throws:
javax.xml.bind.JAXBException- if there's an error during unmarshalling the reply message.XMLStreamException- if there's an error during unmarshalling the reply message.
-
readWrappedResponse
protected Object readWrappedResponse(Message msg, Object[] args) throws javax.xml.bind.JAXBException, XMLStreamException - Throws:
javax.xml.bind.JAXBExceptionXMLStreamException
-
getVMUninitializedValue
Returns the 'uninitialized' value for the given type.For primitive types, it's '0', and for reference types, it's null.
-
getWSDLPartName
Gets the WSDL part name of this attachment.According to WSI AP 1.0
3.8 Value-space of Content-Id Header Definition: content-id part encoding The "content-id part encoding" consists of the concatenation of: The value of the name attribute of the wsdl:part element referenced by the mime:content, in which characters disallowed in content-id headers (non-ASCII characters as represented by code points above 0x7F) are escaped as follows: o Each disallowed character is converted to UTF-8 as one or more bytes. o Any bytes corresponding to a disallowed character are escaped with the URI escaping mechanism (that is, converted to %HH, where HH is the hexadecimal notation of the byte value). o The original character is replaced by the resulting character sequence. The character '=' (0x3D). A globally unique value such as a UUID. The character '@' (0x40). A valid domain name under the authority of the entity constructing the message.So a wsdl:part fooPart will be encoded as:<fooPart=somereallybignumberlikeauuid@example.com>- Returns:
- null if the parsing fails.
-