You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/12/12 22:11:06 UTC
svn commit: r726119 - in
/servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn:
AbstractCreatePullPoint.java AbstractNotificationBroker.java
component/WSNEndpoint.java jbi/JbiWrapperHelper.java
Author: gnodet
Date: Fri Dec 12 13:11:06 2008
New Revision: 726119
URL: http://svn.apache.org/viewvc?rev=726119&view=rev
Log:
SM-1732: Fix JBI wrapper support on servicemix-wsn2005
Modified:
servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java
servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java
servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java
servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/jbi/JbiWrapperHelper.java
Modified: servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java?rev=726119&r1=726118&r2=726119&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java (original)
+++ servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java Fri Dec 12 13:11:06 2008
@@ -108,6 +108,7 @@
success = true;
return response;
} catch (EndpointRegistrationException e) {
+ log.warn("Unable to register new endpoint", e);
UnableToCreatePullPointFaultType fault = new UnableToCreatePullPointFaultType();
throw new UnableToCreatePullPointFault("Unable to register new endpoint", fault, e);
} finally {
Modified: servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java?rev=726119&r1=726118&r2=726119&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java (original)
+++ servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java Fri Dec 12 13:11:06 2008
@@ -203,8 +203,9 @@
success = true;
return response;
} catch (EndpointRegistrationException e) {
+ log.warn("Unable to register new endpoint", e);
SubscribeCreationFailedFaultType fault = new SubscribeCreationFailedFaultType();
- throw new SubscribeCreationFailedFault("Unable to register endpoint", fault, e);
+ throw new SubscribeCreationFailedFault("Unable to register new endpoint", fault, e);
} finally {
if (!success && subscription != null) {
subscriptions.remove(subscription);
@@ -296,6 +297,7 @@
success = true;
return response;
} catch (EndpointRegistrationException e) {
+ log.warn("Unable to register new endpoint", e);
PublisherRegistrationFailedFaultType fault = new PublisherRegistrationFailedFaultType();
throw new PublisherRegistrationFailedFault("Unable to register new endpoint", fault, e);
} finally {
Modified: servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java?rev=726119&r1=726118&r2=726119&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java (original)
+++ servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java Fri Dec 12 13:11:06 2008
@@ -27,6 +27,7 @@
import java.util.GregorianCalendar;
import java.util.Set;
import java.util.HashSet;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.jbi.messaging.ExchangeStatus;
import javax.jbi.messaging.Fault;
@@ -132,10 +133,10 @@
return;
}
- boolean isJbiWrapped = false;
+ AtomicBoolean isJbiWrapped = new AtomicBoolean(false);
Source source = exchange.getMessage("in").getContent();
// Unwrap JBI message if needed
- source = JbiWrapperHelper.unwrap(source);
+ source = JbiWrapperHelper.unwrap(source, isJbiWrapped);
Object input = jaxbContext.createUnmarshaller().unmarshal(source);
Method webMethod = null;
@@ -189,7 +190,7 @@
Document doc = JbiWrapperHelper.createDocument();
JAXBElement el = new JAXBElement(new QName(fa.targetNamespace(), fa.name()), info.getClass(), null, info);
jaxbContext.createMarshaller().marshal(el, doc);
- if (isJbiWrapped) {
+ if (isJbiWrapped.get()) {
JbiWrapperHelper.wrap(doc);
}
fault.setContent(new DOMSource(doc));
@@ -212,7 +213,7 @@
exchange.setMessage(msg, "out");
Document doc = JbiWrapperHelper.createDocument();
jaxbContext.createMarshaller().marshal(output, doc);
- if (isJbiWrapped) {
+ if (isJbiWrapped.get()) {
JbiWrapperHelper.wrap(doc);
}
msg.setContent(new DOMSource(doc));
Modified: servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/jbi/JbiWrapperHelper.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/jbi/JbiWrapperHelper.java?rev=726119&r1=726118&r2=726119&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/jbi/JbiWrapperHelper.java (original)
+++ servicemix/components/engines/servicemix-wsn2005/trunk/src/main/java/org/apache/servicemix/wsn/jbi/JbiWrapperHelper.java Fri Dec 12 13:11:06 2008
@@ -89,15 +89,15 @@
if (WSDL11_WRAPPER_NAMESPACE.equals(el.getNamespaceURI()) && WSDL11_WRAPPER_MESSAGE_LOCALNAME.equals(el.getLocalName())) {
el = DOMUtil.getFirstChildElement(el);
if (el == null) {
- throw new IllegalStateException("JBI wrapper has no child element");
- }
- el = DOMUtil.getFirstChildElement(el);
- if (el == null) {
throw new IllegalStateException("JBI message has no child element");
}
if (!WSDL11_WRAPPER_NAMESPACE.equals(el.getNamespaceURI()) || !WSDL11_WRAPPER_PART_LOCALNAME.equals(el.getLocalName())) {
throw new IllegalStateException("Expected a jbi:part element");
}
+ el = DOMUtil.getFirstChildElement(el);
+ if (el == null) {
+ throw new IllegalStateException("JBI part has no child element");
+ }
isJbiWrapped.set(true);
source = new DOMSource(el);
}