You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2005/08/28 14:58:31 UTC
svn commit: r263873 - in /webservices/sandesha/trunk: samples/interop/
samples/interop/src/org/apache/sandesha2/samples/ src/org/apache/sandesha2/
src/org/apache/sandesha2/handlers/ src/org/apache/sandesha2/msgprocessors/
src/org/apache/sandesha2/msgre...
Author: chamikara
Date: Sun Aug 28 05:56:25 2005
New Revision: 263873
URL: http://svn.apache.org/viewcvs?rev=263873&view=rev
Log:
CreateSequenceResponse is working now. (but need some corrections)
Added:
webservices/sandesha/trunk/test/org/
webservices/sandesha/trunk/test/org/apache/
webservices/sandesha/trunk/test/org/apache/sandesha2/
webservices/sandesha/trunk/test/org/apache/sandesha2/SimpleServerImpl.java
Modified:
webservices/sandesha/trunk/samples/interop/service.xml
webservices/sandesha/trunk/samples/interop/src/org/apache/sandesha2/samples/RMInteropService.java
webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java
webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java
webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java
Modified: webservices/sandesha/trunk/samples/interop/service.xml
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/samples/interop/service.xml?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/samples/interop/service.xml (original)
+++ webservices/sandesha/trunk/samples/interop/service.xml Sun Aug 28 05:56:25 2005
@@ -6,7 +6,12 @@
</description>
<module ref="sandesha" />
- <operation name="ping" />
- <operation name="echoString" />
+<!--
+ <operation name="ping" />
+ <operation name="echoString" /> -->
+
+ <operation name="ping">
+ <messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver" />
+ </operation>
</service>
Modified: webservices/sandesha/trunk/samples/interop/src/org/apache/sandesha2/samples/RMInteropService.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/samples/interop/src/org/apache/sandesha2/samples/RMInteropService.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/samples/interop/src/org/apache/sandesha2/samples/RMInteropService.java (original)
+++ webservices/sandesha/trunk/samples/interop/src/org/apache/sandesha2/samples/RMInteropService.java Sun Aug 28 05:56:25 2005
@@ -20,6 +20,11 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMFactory;
+import org.apache.axis2.om.OMNamespace;
+
/**
* @author
*
@@ -28,19 +33,25 @@
private static Map sequences = new HashMap();
- public String echoString(String text, String sequence) {
+ public OMElement echoString(OMElement in) {
+ System.out.println("EchoString was called");
+ in.getFirstChild().detach();
+
+ OMFactory fac = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = fac.createOMNamespace("http://tempuri.org/", "echoString");
+ OMElement method = fac.createOMElement("echoStringResponse", omNs);
- if (sequences.get(sequence) != null) {
- text = (String) sequences.get(sequence) + text;
- sequences.put(sequence, new String(text));
- } else {
- sequences.put(sequence, (new String(text)));
+ OMElement value = fac.createOMElement("Text", omNs);
+ //TODO umcomment
+ //value.addChild(fac.createText(value, "Echo Text"));
+ method.addChild(value);
- }
- return text;
+ return method;
}
- public void ping(String text) {
+
+ public void ping(OMElement in) {
//Just accept the message and do some processing
+ System.out.println("Ping was called");
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/MsgInitializer.java Sun Aug 28 05:56:25 2005
@@ -17,6 +17,7 @@
package org.apache.sandesha2;
+import org.apache.axis2.addressing.om.AddressingHeaders;
import org.apache.axis2.context.MessageContext;
import org.apache.sandesha2.wsrm.RMElements;
@@ -28,7 +29,7 @@
public class MsgInitializer {
public static RMMsgContext initializeMessage (MessageContext ctx) {
- RMMsgContext rmMsgCtx = new RMMsgContext ();
+ RMMsgContext rmMsgCtx = new RMMsgContext (ctx);
populateRMMsgContext(ctx,rmMsgCtx);
return rmMsgCtx;
}
@@ -38,6 +39,7 @@
RMElements elements = new RMElements ();
elements.fromSOAPEnvelope(msgCtx.getEnvelope());
+
rmMsgContext.setMessagePart(Constants.MESSAGE_PART_CREATE_SEQ,elements.getCreateSequence());
rmMsgContext.setMessagePart(Constants.MESSAGE_PART_CREATE_SEQ_RESPONSE,elements.getCreateSequenceResponse());
rmMsgContext.setMessagePart(Constants.MESSAGE_PART_SEQUENCE ,elements.getSequence());
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgContext.java Sun Aug 28 05:56:25 2005
@@ -18,8 +18,15 @@
package org.apache.sandesha2;
import java.util.HashMap;
+
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.miheaders.RelatesTo;
import org.apache.axis2.addressing.om.AddressingHeaders;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.soap.SOAPEnvelope;
import org.apache.sandesha2.wsrm.CreateSequence;
import org.apache.sandesha2.wsrm.IOMRMElement;
import org.apache.sandesha2.wsrm.TerminateSequence;
@@ -41,7 +48,7 @@
public RMMsgContext (MessageContext ctx){
this ();
this.msgContext = ctx;
- MsgInitializer.populateRMMsgContext(ctx,this);
+ //MsgInitializer.populateRMMsgContext(ctx,this);
}
public int getMessageType (){
@@ -61,5 +68,45 @@
public IOMRMElement getMessagePart (int partId) {
return (IOMRMElement) rmMessageParts.get(new Integer (partId));
}
+
+ public EndpointReference getFrom () {
+ return msgContext.getFrom();
+ }
+
+ public EndpointReference getTo (){
+ return msgContext.getTo();
+ }
+
+ public EndpointReference getReplyTo (){
+ return msgContext.getReplyTo();
+ }
+
+ public RelatesTo getRelatesTo () {
+ return msgContext.getRelatesTo();
+ }
+
+ public String getMessageId (){
+ return msgContext.getMessageID();
+ }
+
+ public SOAPEnvelope getSOAPEnvelope () {
+ return msgContext.getEnvelope();
+ }
+ public void test (){
+ String opearaitonName = msgContext.getOperationContext().getAxisOperation().getName().getLocalPart();
+ System.out.println ("Operation is:" + opearaitonName);
+ }
+
+ public void serializeSOAPEnvelop () {
+ try {
+ SOAPEnvelope envelop = msgContext.getEnvelope();
+ XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
+ envelop.serialize(writer);
+ }catch (Exception ex){
+ ex.printStackTrace();
+ }
+ }
+
+
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/RMMsgCreator.java Sun Aug 28 05:56:25 2005
@@ -17,9 +17,63 @@
package org.apache.sandesha2;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.om.AddressingHeaders;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.sandesha2.wsrm.Accept;
+import org.apache.sandesha2.wsrm.AcksTo;
+import org.apache.sandesha2.wsrm.CreateSequence;
+import org.apache.sandesha2.wsrm.CreateSequenceResponse;
+import org.apache.sandesha2.wsrm.IOMRMElement;
+import org.apache.sandesha2.wsrm.Identifier;
+
/**
* @author
*/
public class RMMsgCreator {
+ public static RMMsgContext createCreateSeqResponseMsg (RMMsgContext createSeqMessage, MessageContext outMessage) throws AxisFault {
+
+ IOMRMElement messagePart =
+ createSeqMessage.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ);
+ CreateSequence cs = (CreateSequence) messagePart;
+
+ CreateSequenceResponse response = new CreateSequenceResponse();
+
+ Identifier identifier = new Identifier();
+ // TODO : set the an appropriate id
+ identifier.setIndentifer("temp-id-of-sandesha");
+ response.setIdentifier(identifier);
+ Accept accept = new Accept();
+ EndpointReference acksToEPR = createSeqMessage.getTo();
+ AcksTo acksTo = new AcksTo(acksToEPR);
+ accept.setAcksTo(acksTo);
+ response.setAccept(accept);
+
+ SOAPEnvelope envelope = createSeqMessage.getSOAPEnvelope();
+ envelope.getBody().getFirstChild().detach();
+
+ response.toSOAPEnvelope(envelope);
+ EndpointReference fromEPR= new EndpointReference("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous");
+
+ outMessage.setFrom(fromEPR);
+ outMessage.setWSAAction("http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse");
+
+ /*try {
+ XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
+ envelope.serialize(writer);
+ }catch (Exception ex){
+ ex.printStackTrace();
+ }*/
+
+ outMessage.setEnvelope(envelope);
+ RMMsgContext createSeqResponse = new RMMsgContext(outMessage);
+ return createSeqResponse;
+ }
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/ServerInHandler.java Sun Aug 28 05:56:25 2005
@@ -34,10 +34,16 @@
public class ServerInHandler extends AbstractHandler {
public void invoke(MessageContext msgCtx) throws AxisFault {
+ System.out.println ("In server Handler 1");
+
+ String opearaitonName = msgCtx.getOperationContext().getAxisOperation().getName().getLocalPart();
+ System.out.println ("Operation is:" + opearaitonName);
+
RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(msgCtx);
MsgValidator.validateMessage(rmMsgCtx);
MsgProcessor msgProcessor = MsgProcessorFactory.getMessageProcessor(rmMsgCtx.getMessageType());
+
try {
msgProcessor.processMessage(rmMsgCtx);
}catch (MsgProcessorException mpe) {
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Sun Aug 28 05:56:25 2005
@@ -17,7 +17,9 @@
package org.apache.sandesha2.msgprocessors;
+import org.apache.sandesha2.Constants;
import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.wsrm.CreateSequence;
/**
* @author
@@ -27,5 +29,12 @@
public void processMessage(RMMsgContext rmMsgCtx) throws MsgProcessorException {
//TODO: Add create sequence message processing logic
+ CreateSequence createSeq = (CreateSequence) rmMsgCtx.getMessagePart(Constants.MESSAGE_PART_CREATE_SEQ);
+
+ //rmMsgCtx.test();
+ //Store AcksTo Value
+
+ //Change the Operation (to go throught CreateSequence)
+
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java Sun Aug 28 05:56:25 2005
@@ -18,17 +18,59 @@
package org.apache.sandesha2.msgreceivers;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMFactory;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver;
import org.apache.axis2.receivers.AbstractMessageReceiver;
+import org.apache.axis2.soap.SOAP11Constants;
+import org.apache.axis2.soap.SOAP12Constants;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.MsgInitializer;
+import org.apache.sandesha2.MsgValidator;
+import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.RMMsgCreator;
/**
- * @author
- *
+ * @author
*/
-public class RMMessageReceiver extends AbstractMessageReceiver {
+public class RMMessageReceiver extends AbstractInOutSyncMessageReceiver {
+
+ public void invokeBusinessLogic(MessageContext inMessage, MessageContext outMessage) throws AxisFault {
+
+ System.out.println("RM Msg Receiver was called");
+ RMMsgContext rmMsgCtx = MsgInitializer.initializeMessage(inMessage);
+ MsgValidator.validateMessage(rmMsgCtx);
+
+ if (rmMsgCtx.getMessageType() == Constants.MESSAGE_TYPE_CREATE_SEQ) {
+
+ RMMsgContext createSeqResponse = RMMsgCreator
+ .createCreateSeqResponseMsg(rmMsgCtx,outMessage);
+
+ //createSeqResponse.serializeSOAPEnvelop();
+ outMessage.setResponseWritten(true);
+ }
- public void receive(MessageContext arg0) throws AxisFault {
- // TODO Message receiver logic.
}
-}
+
+ private SOAPFactory getSOAPFactory(MessageContext inMessage)
+ throws AxisFault {
+ String nsURI = inMessage.getEnvelope().getNamespace().getName();
+ if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
+ fac = OMAbstractFactory.getSOAP12Factory();
+ } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
+ fac = OMAbstractFactory.getSOAP11Factory();
+ } else {
+ throw new AxisFault(
+ "Unknown SOAP Version. Current Axis handles only SOAP 1.1 and SOAP 1.2 messages");
+ }
+ return fac;
+ }
+
+}
\ No newline at end of file
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java?rev=263873&r1=263872&r2=263873&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/RMElements.java Sun Aug 28 05:56:25 2005
@@ -18,6 +18,9 @@
import java.util.Iterator;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMException;
import org.apache.axis2.soap.SOAPEnvelope;
@@ -68,6 +71,7 @@
createSequenceElement.fromSOAPEnvelope(envelope);
createSequenceResponseElement.fromSOAPEnvelope(envelope);
terminateSequenceElement.fromSOAPEnvelope(envelope);
+
return this;
}
Added: webservices/sandesha/trunk/test/org/apache/sandesha2/SimpleServerImpl.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/test/org/apache/sandesha2/SimpleServerImpl.java?rev=263873&view=auto
==============================================================================
--- webservices/sandesha/trunk/test/org/apache/sandesha2/SimpleServerImpl.java (added)
+++ webservices/sandesha/trunk/test/org/apache/sandesha2/SimpleServerImpl.java Sun Aug 28 05:56:25 2005
@@ -0,0 +1,23 @@
+/*
+ * Created on Aug 26, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.sandesha2;
+
+import java.io.IOException;
+
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+
+/**
+ * @author
+ *
+ */
+public class SimpleServerImpl {
+
+ public static void main(String[] args) throws IOException {
+ SimpleHTTPServer sas= new SimpleHTTPServer("E:\\Program Files\\Apache Software Foundation\\Tomcat 5.0\\webapps\\axis2\\WEB-INF",8080);
+ sas.start();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org