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
