You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by as...@apache.org on 2005/07/12 16:40:24 UTC

svn commit: r215961 - in /webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws: src/javax/xml/rpc/handler/ src/org/apache/axis/jaxrpc/handler/soap/ test/org/apache/axis/jaxrpc/handler/ test/org/apache/axis/jaxrpc/handler/soap/

Author: ashutosh
Date: Tue Jul 12 07:40:22 2005
New Revision: 215961

URL: http://svn.apache.org/viewcvs?rev=215961&view=rev
Log: (empty)

Added:
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/ClientWithLoggingHandler.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/LoggingHandler.java
Modified:
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/HandlerInfo.java
    webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/handler/soap/SOAPMessageContextImpl.java

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/HandlerInfo.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/HandlerInfo.java?rev=215961&r1=215960&r2=215961&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/HandlerInfo.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/javax/xml/rpc/handler/HandlerInfo.java Tue Jul 12 07:40:22 2005
@@ -45,7 +45,7 @@
 	/**
 	 * Default constructor
 	 */
-	HandlerInfo(){
+	public HandlerInfo(){
 		handlerClass = null;
 		config = new HashMap();
 		headers = new ArrayList<QName>();
@@ -58,7 +58,7 @@
 	 * @param headers -  - QNames for the header blocks processed by this Handler. QName is the qualified name of the
 	 * outermost element of a header block
 	 */
-	HandlerInfo(java.lang.Class handlerClass, java.util.Map config,
+	public HandlerInfo(java.lang.Class handlerClass, java.util.Map config,
 			javax.xml.namespace.QName[] headers){
 		this.handlerClass = handlerClass;
 		this.config = config;
@@ -68,7 +68,8 @@
 					this.headers.add(headers[i]);
 				}
 			}
-		}
+		} else
+			this.headers = new ArrayList<QName>();
 	}
 	
 	/**

Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/handler/soap/SOAPMessageContextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/handler/soap/SOAPMessageContextImpl.java?rev=215961&r1=215960&r2=215961&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/handler/soap/SOAPMessageContextImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/handler/soap/SOAPMessageContextImpl.java Tue Jul 12 07:40:22 2005
@@ -10,6 +10,9 @@
 
 import org.apache.axis.jaxrpc.handler.MessageContextImpl;
 
+/*
+ * Need to do something more in this class for faults and error messages?
+ */
 public class SOAPMessageContextImpl extends MessageContextImpl implements SOAPMessageContext {
 
 	private SOAPMessage message;

Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/ClientWithLoggingHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/ClientWithLoggingHandler.java?rev=215961&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/ClientWithLoggingHandler.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/ClientWithLoggingHandler.java Tue Jul 12 07:40:22 2005
@@ -0,0 +1,53 @@
+package org.apache.axis.jaxrpc.handler.soap;
+
+import junit.framework.TestCase;
+
+import javax.xml.namespace.QName;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.rpc.ServiceFactory;
+import javax.xml.rpc.Service;
+import javax.xml.rpc.Call;
+import javax.xml.rpc.ParameterMode;
+import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.rpc.handler.HandlerRegistry;
+
+public class ClientWithLoggingHandler extends TestCase {
+
+	public static void main(String[] args) {
+	}
+
+	public ClientWithLoggingHandler(String name) {
+		super(name);
+	}
+	
+	public void testDII() {
+		try {
+			ServiceFactory sf = ServiceFactory.newInstance();
+			Service s = sf.createService(new URL(getTestResourceDirectory()+ "/Echo.wsdl") , new QName("EchoService"));
+			
+			HandlerRegistry registry = s.getHandlerRegistry();
+			List<HandlerInfo> handlerList = new ArrayList<HandlerInfo>();
+			HandlerInfo hInfo = new HandlerInfo();
+			hInfo.setHandlerClass(LoggingHandler.class);
+			handlerList.add(hInfo);
+			registry.setHandlerChain(handlerList);
+			
+			Call call = s.createCall();
+			call.addParameter("param1", new QName("Here the URL for XSD should be given","string"), java.lang.String.class, ParameterMode.IN);
+			call.setReturnType(new QName("URL of XSD","string"), String.class);
+			Object[] inParams = new Object[]{"hello World!"};
+			String response = (String) call.invoke(inParams);
+			assertEquals("hello World!",response);
+		}catch (Exception e) {
+			fail(e.getMessage());
+		}
+	}
+	
+	private String getTestResourceDirectory() {
+		return "C:\\workspace\\3.1Workspace\\JAXRPC2_Work\\test-resources";
+	}
+
+}

Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/LoggingHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/LoggingHandler.java?rev=215961&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/LoggingHandler.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/test/org/apache/axis/jaxrpc/handler/soap/LoggingHandler.java Tue Jul 12 07:40:22 2005
@@ -0,0 +1,78 @@
+package org.apache.axis.jaxrpc.handler.soap;
+
+import java.io.PrintStream;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.JAXRPCException;
+import javax.xml.rpc.ProtocolException;
+import javax.xml.rpc.handler.HandlerInfo;
+import javax.xml.rpc.handler.MessageContext;
+import javax.xml.rpc.handler.soap.SOAPHandler;
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+import javax.xml.soap.SOAPMessage;
+
+public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
+
+	// change this to redirect output if desired
+	private static PrintStream out = System.out;
+	
+	// used to hold initialization data
+	private Map config;
+	
+	public Set<QName> getHeaders() {
+		return null;
+	}
+
+	public boolean handleMessage(SOAPMessageContext context)
+			throws RuntimeException, ProtocolException {
+		logToSystemOut(context);
+		return true;
+	}
+
+	public boolean handleFault(SOAPMessageContext context) throws RuntimeException,
+			ProtocolException {
+		logToSystemOut(context);
+		return true;
+	}
+
+	public void close(MessageContext context) {
+		//Nothing to clean up
+	}
+
+	public void init(HandlerInfo config) throws JAXRPCException {
+		this.config = config.getHandlerConfig();
+	}
+
+	public void destroy() throws JAXRPCException {
+		//nothing to clean up
+	}
+	
+	/*
+	 * Check the MESSAGE_OUTBOUND_PROPERTY in the context
+	 * to see if this is an outgoing or incoming message.
+	 * Write a brief message to the print stream and
+	 * output the message. The writeTo() method can throw
+	 * SOAPException or IOException
+	 */
+	private void logToSystemOut(SOAPMessageContext context) {
+		Boolean outboundProperty = (Boolean)
+		context.getProperty(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+		
+		if (outboundProperty.booleanValue()) {
+			out.println("\nOutbound message:");
+		} else {
+			out.println("\nInbound message:");
+		}
+		
+		SOAPMessage message = context.getMessage();
+		try {
+			message.writeTo(out);
+			out.println("");   // just to add a newline
+		} catch (Exception e) {
+			out.println("Exception in handler: " + e);
+		}
+	}
+
+}