Author: asankaa
Date: Mon Dec 29 08:46:41 2008
New Revision: 27837
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=27837

Log:
Fixing CARBON-1811,1813,1814


Modified:
   
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
   
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
   
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java

Modified: 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java?rev=27837&r1=27836&r2=27837&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
  (original)
+++ 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
  Mon Dec 29 08:46:41 2008
@@ -125,7 +125,7 @@
                     if (log.isDebugEnabled()) {
                         log.debug("SynapseSubscription Failed, sending fault 
response");
                     }
-                    SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"wse:EventSourceUnableToProcess", "", "");
+                    SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(mc,EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"EventSourceUnableToProcess", "Unable to subscribe ", "");
                     dispatchResponse(soapEnvelope, 
EventingConstants.WSA_FAULT, null, mc, synCfg, synEnv);
                 }
             } else {
@@ -133,7 +133,7 @@
                 if (log.isDebugEnabled()) {
                     log.debug("SynapseSubscription Failed, sending fault 
response");
                 }
-                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(SubscriptionMessageBuilder.getErrorCode(), 
SubscriptionMessageBuilder.getErrorSubCode(), 
SubscriptionMessageBuilder.getErrorReason(), "");
+                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(mc,SubscriptionMessageBuilder.getErrorCode(), 
SubscriptionMessageBuilder.getErrorSubCode(), 
SubscriptionMessageBuilder.getErrorReason(), "");
                 dispatchResponse(soapEnvelope, EventingConstants.WSA_FAULT, 
null, mc, synCfg, synEnv);
             }
 
@@ -156,7 +156,7 @@
                 if (log.isDebugEnabled()) {
                     log.debug("UnSubscription failed, sending fault 
repsponse");
                 }
-                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"wse:EventSourceUnableToProcess", "", "");
+                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(mc,EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"EventSourceUnableToProcess", "Unable to Unsubscribe", "");
                 dispatchResponse(soapEnvelope, EventingConstants.WSA_FAULT, 
null, mc, synCfg, synEnv);
             }
         } else if (EventingConstants.WSE_GET_STATUS.equals(mc.getWSAAction())) 
{
@@ -179,7 +179,7 @@
                 if (log.isDebugEnabled()) {
                     log.debug("GetStatus failed, sending fault response");
                 }
-                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"wse:EventSourceUnableToProcess", "", "");
+                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(mc,EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"EventSourceUnableToProcess", "Subscription Not Found", "");
                 dispatchResponse(soapEnvelope, EventingConstants.WSA_FAULT, 
null, mc, synCfg, synEnv);
             }
         } else if (EventingConstants.WSE_RENEW.equals(mc.getWSAAction())) {
@@ -203,11 +203,11 @@
                     if (log.isDebugEnabled()) {
                         log.debug("ReNew failed, sending fault response");
                     }
-                    SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"wse:UnableToRenew", "", "");
+                    SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(mc,EventingConstants.WSE_FAULT_CODE_RECEIVER, 
"UnableToRenew", "Subscription Not Found", "");
                     dispatchResponse(soapEnvelope, 
EventingConstants.WSA_FAULT, null, mc, synCfg, synEnv);
                 }
             } else {
-                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(SubscriptionMessageBuilder.getErrorCode(), 
SubscriptionMessageBuilder.getErrorSubCode(), 
SubscriptionMessageBuilder.getErrorReason(), "");
+                SOAPEnvelope soapEnvelope = 
messageBuilder.genFaultResponse(mc,SubscriptionMessageBuilder.getErrorCode(), 
SubscriptionMessageBuilder.getErrorSubCode(), 
SubscriptionMessageBuilder.getErrorReason(), "");
                 dispatchResponse(soapEnvelope, EventingConstants.WSA_FAULT, 
null, mc, synCfg, synEnv);
             }
         } else {

Modified: 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java?rev=27837&r1=27836&r2=27837&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
     (original)
+++ 
branches/synapse/1.2.wso2v1/modules/core/src/main/java/org/apache/synapse/eventing/builders/ResponseMessageBuilder.java
     Mon Dec 29 08:46:41 2008
@@ -1,9 +1,9 @@
 package org.apache.synapse.eventing.builders;
 
+import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.*;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
@@ -198,10 +198,10 @@
         OMNamespace eventingNamespace = 
factory.createOMNamespace(EventingConstants.WSE_EVENTING_NS, 
EventingConstants.WSE_EVENTING_PREFIX);
         OMElement renewResponseElement = 
factory.createOMElement(EventingConstants.WSE_EN_GET_STATUS_RESPONSE, 
eventingNamespace);
         OMElement expiresElement = 
factory.createOMElement(EventingConstants.WSE_EN_EXPIRES, eventingNamespace);
-        if(subscription.getExpires()!=null){
+        if (subscription.getExpires() != null) {
             factory.createOMText(expiresElement, 
ConverterUtil.convertToString(subscription.getExpires()));
-        }else{
-            factory.createOMText(expiresElement,"*");
+        } else {
+            factory.createOMText(expiresElement, "*");
         }
         renewResponseElement.addChild(expiresElement);
         message.getBody().addChild(renewResponseElement);
@@ -217,55 +217,66 @@
      * <!-- Headers elided for clarity.  -->
      * </S:Header>
      * <S:Body>
-     *  <S:Fault>
-     *      <S:Code>
-     *          <S:Value>[Code]</S:Value>
-     *          <S:Subcode>
-     *              <S:Value>[Subcode]</S:Value>
-     *          </S:Subcode>
-     *      </S:Code>
-     *      <S:Reason>
-     *          <S:Text xml:lang="en">[Reason]</S:Text>
-     *      </S:Reason>
-     *      <S:Detail>
-     *          [Detail]
-     *      </S:Detail>
-     *  </S:Fault>
+     * <S:Fault>
+     * <S:Code>
+     * <S:Value>[Code]</S:Value>
+     * <S:Subcode>
+     * <S:Value>[Subcode]</S:Value>
+     * </S:Subcode>
+     * </S:Code>
+     * <S:Reason>
+     * <S:Text xml:lang="en">[Reason]</S:Text>
+     * </S:Reason>
+     * <S:Detail>
+     * [Detail]
+     * </S:Detail>
+     * </S:Fault>
      * </S:Body>
      * </S:Envelope>
-     *     
+     *
      * @param code
      * @param subCode
      * @param reason
      * @param detail
      * @return
      */
-    public SOAPEnvelope genFaultResponse(String code,String subCode,String 
reason,String detail) {
-        SOAPEnvelope message = factory.getDefaultEnvelope();
-        OMElement faultElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_FAULT, null);
-        OMElement codeElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_CODE, null);
-        OMElement codeValueElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_VALUE, null);
-        OMElement subCodeElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_SUB_CODE, null);
-        OMElement subCodeValueElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_VALUE, null);
-        OMElement reasonElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_REASON, null);
-        OMElement reasonTextElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_TEXT, null);
-        OMElement detailElement = 
factory.createOMElement(EventingConstants.WSE_FAULT_EN_DETAIL, null);
-        factory.createOMText(codeValueElement,code);
-        factory.createOMText(subCodeValueElement,subCode);
-        factory.createOMText(reasonTextElement,reason);
-        factory.createOMText(detailElement,detail);
-        OMNamespace xmlNameSpace = factory.createOMNamespace("xml",null);
-        
reasonTextElement.addAttribute(EventingConstants.WSE_FAULT_EN_TEXT_ATTR,"en",xmlNameSpace);
-
-        codeElement.addChild(codeValueElement);
-        subCodeElement.addChild(subCodeValueElement);
-        codeElement.addChild(subCodeElement);
-        faultElement.addChild(codeElement);
-        reasonElement.addChild(reasonTextElement);
-        faultElement.addChild(reasonElement);
-        faultElement.addChild(detailElement);
-        message.getBody().addChild(faultElement);
-        return message;
+    public SOAPEnvelope genFaultResponse(MessageContext messageCtx, String 
code, String subCode, String reason, String detail) {
+        SOAPFactory soapFactory = null;        
+        if (messageCtx.isSOAP11()) {
+            soapFactory = OMAbstractFactory.getSOAP11Factory();
+            SOAPEnvelope message = soapFactory.getDefaultFaultEnvelope();
+            SOAPFaultReason soapFaultReason = 
soapFactory.createSOAPFaultReason();
+            soapFaultReason.setText(reason);
+            message.getBody().getFault().setReason(soapFaultReason);
+            SOAPFaultCode soapFaultCode = soapFactory.createSOAPFaultCode();   
         
+            QName qNameSubCode = new QName(EventingConstants.WSE_EVENTING_NS, 
subCode, EventingConstants.WSE_EVENTING_PREFIX);
+            soapFaultCode.setText(qNameSubCode);
+            message.getBody().getFault().setCode(soapFaultCode);
+            return message;
+        } else {
+            soapFactory = OMAbstractFactory.getSOAP12Factory();
+            SOAPEnvelope message = soapFactory.getDefaultFaultEnvelope();
+            SOAPFaultDetail soapFaultDetail = 
soapFactory.createSOAPFaultDetail();
+            soapFaultDetail.setText(detail);
+            message.getBody().getFault().setDetail(soapFaultDetail);
+            SOAPFaultReason soapFaultReason = 
soapFactory.createSOAPFaultReason();
+            SOAPFaultText soapFaultText = soapFactory.createSOAPFaultText();
+            soapFaultText.setText(reason);
+            soapFaultReason.addSOAPText(soapFaultText);
+            message.getBody().getFault().setReason(soapFaultReason);
+            SOAPFaultCode soapFaultCode = soapFactory.createSOAPFaultCode();
+            SOAPFaultValue soapFaultValue = 
soapFactory.createSOAPFaultValue(soapFaultCode);
+            soapFaultValue.setText(code);
+            soapFaultCode.setValue(soapFaultValue);
+            SOAPFaultSubCode soapFaultSubCode = 
soapFactory.createSOAPFaultSubCode(soapFaultCode);
+            SOAPFaultValue soapFaultValueSub = 
soapFactory.createSOAPFaultValue(soapFaultSubCode);
+            QName qNameSubCode = new QName(EventingConstants.WSE_EVENTING_NS, 
subCode, EventingConstants.WSE_EVENTING_PREFIX);
+            soapFaultValueSub.setText(qNameSubCode);
+            soapFaultSubCode.setValue(soapFaultValueSub);
+            soapFaultCode.setSubCode(soapFaultSubCode);
+            message.getBody().getFault().setCode(soapFaultCode);
+            return message;
+        }
     }
 
     private void handleException(String message) {

Modified: 
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
URL: 
http://wso2.org/svn/browse/wso2/branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java?rev=27837&r1=27836&r2=27837&view=diff
==============================================================================
--- 
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
    (original)
+++ 
branches/synapse/1.2.wso2v1/modules/samples/src/main/java/samples/userguide/EventSubscriber.java
    Mon Dec 29 08:46:41 2008
@@ -28,7 +28,7 @@
 import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
-
+import org.apache.axis2.AxisFault;
 import java.io.File;
 
 
@@ -99,7 +99,7 @@
             notifyToOm.addChild(addressOm);
             deliveryOm.addChild(notifyToOm);
             subscribeOm.addChild(deliveryOm);
-            if(!(expires.equals("*"))){
+            if (!(expires.equals("*"))) {
                 subscribeOm.addChild(expiresOm); // Add only if the value 
provided 
             }
             subscribeOm.addChild(filterOm);
@@ -112,10 +112,15 @@
             
options.setAction("http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe";);
             serviceClient.setOptions(options);
             System.out.println("Subscribing \n" + subscribeOm.toString());
-            OMElement response = serviceClient.sendReceive(subscribeOm);
-            System.out.println("Subscribed to topic " + topic);
-            Thread.sleep(1000);
-            System.out.println("Response Received: " + response.toString());
+            try {
+                OMElement response = serviceClient.sendReceive(subscribeOm);
+                System.out.println("Subscribed to topic " + topic);
+                Thread.sleep(1000);
+                System.out.println("Response Received: " + 
response.toString());
+            } catch (AxisFault e) {
+                System.out.println("Fault Received : "+e.toString());
+                System.out.println("Fault Code     : 
"+e.getFaultCode().toString());
+            }
         } else if (mode.equals("unsubscribe")) {
             /** Send unsubscribe message
              (01) <s12:Envelope
@@ -153,10 +158,15 @@
             serviceClient.addHeader(identifierOm);
             serviceClient.setOptions(options);
             System.out.println("UnSubscribing \n" + subscribeOm.toString());
-            OMElement response = serviceClient.sendReceive(subscribeOm);
-            System.out.println("UnSubscribed to ID " + identifier);
-            Thread.sleep(1000);
-            System.out.println("UnSubscribe Response Received: " + 
response.toString());
+            try {
+                OMElement response = serviceClient.sendReceive(subscribeOm);
+                System.out.println("UnSubscribed to ID " + identifier);
+                Thread.sleep(1000);
+                System.out.println("UnSubscribe Response Received: " + 
response.toString());
+            } catch (AxisFault e) {
+                System.out.println("Fault Received : "+e.toString());
+                System.out.println("Fault Code     : 
"+e.getFaultCode().toString());
+            }
 
         } else if (mode.equals("renew")) {
             /**
@@ -201,10 +211,15 @@
             serviceClient.addHeader(identifierOm);
             serviceClient.setOptions(options);
             System.out.println("SynapseSubscription Renew \n" + 
subscribeOm.toString());
-            OMElement response = serviceClient.sendReceive(subscribeOm);
-            System.out.println("SynapseSubscription Renew to ID " + 
identifier);
-            Thread.sleep(1000);
-            System.out.println("SynapseSubscription Renew Response Received: " 
+ response.toString());
+            try {
+                OMElement response = serviceClient.sendReceive(subscribeOm);
+                System.out.println("SynapseSubscription Renew to ID " + 
identifier);
+                Thread.sleep(1000);
+                System.out.println("SynapseSubscription Renew Response 
Received: " + response.toString());
+            } catch (AxisFault e) {
+                System.out.println("Fault Received : "+e.toString());
+                System.out.println("Fault Code     : 
"+e.getFaultCode().toString());
+            }
 
         } else if (mode.equals("getstatus")) {
             /**
@@ -244,10 +259,15 @@
             serviceClient.addHeader(identifierOm);
             serviceClient.setOptions(options);
             System.out.println("GetStatus using \n" + subscribeOm.toString());
-            OMElement response = serviceClient.sendReceive(subscribeOm);
-            System.out.println("GetStatus to ID " + identifier);
-            Thread.sleep(1000);
-            System.out.println("GetStatus Response Received: " + 
response.toString());        
+            try {
+                OMElement response = serviceClient.sendReceive(subscribeOm);
+                System.out.println("GetStatus to ID " + identifier);
+                Thread.sleep(1000);
+                System.out.println("GetStatus Response Received: " + 
response.toString());
+            } catch (AxisFault e) {
+                System.out.println("Fault Received : "+e.toString());
+                System.out.println("Fault Code     : 
"+e.getFaultCode().toString());
+            } 
         }
 
         try {

_______________________________________________
Esb-java-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to