diff options
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms/src')
-rw-r--r-- | branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java b/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java index 34576d2d72..384444800c 100644 --- a/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java +++ b/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java @@ -104,6 +104,8 @@ import org.apache.tuscany.sca.policy.PolicyFactory; * <activationSpec name="xs:anyURI" create="string"?> * <property name="NMTOKEN" type="NMTOKEN">* * </activationSpec>? + * + * <wireFormat.someWireFormat/>? * </response>? * * <complexType name="SubscriptionHeaders"> @@ -124,6 +126,8 @@ import org.apache.tuscany.sca.policy.PolicyFactory; * <property name="NMTOKEN" type="NMTOKEN">* * </headers>? * </operationProperties>* + * + * <wireFormat.someWireFormat/>? * </binding.jms> * * Parsing error messages are recorded locally and reported as validation exceptions. Parsing @@ -474,7 +478,7 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St jmsBinding.getResponseActivationSpecProperties().putAll(parseBindingProperties(reader)); } - private void parseResponse(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { + private void parseResponse(XMLStreamReader reader, JMSBinding jmsBinding) throws ContributionReadException, XMLStreamException { // Read sub-elements of response while (true) { switch (reader.next()) { @@ -486,6 +490,16 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St parseResponseConnectionFactory(reader, jmsBinding); } else if ("activationSpec".equals(elementName)) { parseResponseActivationSpec(reader, jmsBinding); + } else { + Object extension = extensionProcessor.read(reader); + if (extension != null) { + if (extension instanceof WireFormat) { + jmsBinding.setResponseWireFormat((WireFormat)extension); + } else { + error("UnexpectedElement", reader, extension.toString()); + } + } + reader.next(); } //reader.next(); break; |