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);
+ }
+ }
+
+}