You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by he...@apache.org on 2005/04/19 14:08:02 UTC

svn commit: r161876 - in webservices/axis/trunk/java/modules: core/src/org/apache/axis/clientapi/ core/src/org/apache/axis/engine/ core/src/org/apache/axis/transport/http/ samples/test/org/apache/axis/engine/

Author: hemapani
Date: Tue Apr 19 05:08:01 2005
New Revision: 161876

URL: http://svn.apache.org/viewcvs?view=rev&rev=161876
Log:
fixing test cases

Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java Tue Apr 19 05:08:01 2005
@@ -40,7 +40,7 @@
 
     private HashMap properties;
 
-    private String transport;
+    private String transport = Constants.TRANSPORT_HTTP;
 
     private EngineContext engineContext;
 
@@ -52,11 +52,6 @@
     
     
     public Call() throws AxisFault {
-        
-   
-   
-   
-
         try {
             //find the deployment mechanism , create
             //a EngineContext .. if the conf file not found
@@ -221,6 +216,7 @@
      * This method is used to initilize the client side ,
      */
     private void init() throws AxisFault {
+        messageInfoHeaders = new MessageInformationHeadersCollection();
         AxisService callbackService = new AxisService();
         callbackService.setName(new QName(CallbackReceiver.SERVIC_NAME));
         callbackReceiver = new CallbackReceiver();
@@ -336,9 +332,9 @@
      */
     public void setListenerTransport(String Listenertransport, boolean useSeparateListener)
         throws AxisFault {
-        if ((Constants.TRANSPORT_HTTP.equals(transport)
-            || Constants.TRANSPORT_MAIL.equals(transport)
-            || Constants.TRANSPORT_TCP.equals(transport))) {
+        if ((Constants.TRANSPORT_HTTP.equals(Listenertransport)
+            || Constants.TRANSPORT_MAIL.equals(Listenertransport)
+            || Constants.TRANSPORT_TCP.equals(Listenertransport))) {
             this.Listenertransport = Listenertransport;
             this.useSeparateListener = useSeparateListener;
         } else {

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AddressingBasedDispatcher.java Tue Apr 19 05:08:01 2005
@@ -56,11 +56,11 @@
             EndpointReference toEPR = msgctx.getTo();
             QName serviceName = new QName(toEPR.getAddress());
             service = msgctx.getEngineContext().getEngineConfig().getService(serviceName);
-            
+
             if (service != null) {
                 EngineContext engineContext = msgctx.getEngineContext();
                 ServiceContext serviceContext = engineContext.getService(service.getName());
-                if(serviceContext == null){
+                if (serviceContext == null) {
                     serviceContext = new ServiceContext(service);
                 }
                 msgctx.setServiceContext(serviceContext);
@@ -70,7 +70,7 @@
                 chain.addPhases(serviceContext.getPhases(EngineConfiguration.INFLOW));
 
             } else {
-                throw new AxisFault("Both the URI and SOAP_ACTION are Null");
+                throw new AxisFault("No service found under the " + toEPR.getAddress());
             }
             if (msgctx.getOperationContext() == null) {
                 String action = (String) msgctx.getWSAAction();
@@ -79,7 +79,7 @@
                 if (op != null) {
                     OperationContext opContext = new OperationContext(op);
                     msgctx.setOperationContext(opContext);
-                }else{
+                } else {
                     throw new AxisFault("Operation not found");
                 }
 

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java Tue Apr 19 05:08:01 2005
@@ -162,7 +162,6 @@
 
             log.info("ending the out flow");
         } catch (Throwable e) {
-            e.printStackTrace();
             handleFault(context, e);
         }
     }
@@ -198,7 +197,7 @@
             SOAPBody body = envelope.getBody();
             body.addFault(new AxisFault(e.getMessage(), e));
             faultContext.setEnvelope(envelope);
-            
+   
             ExecutionChain chain = faultContext.getExecutionChain();
             
             ServiceContext serviceContext = context.getServiceContext();
@@ -209,7 +208,7 @@
             chain.invoke(faultContext);
             // send the error
             TransportSender sender = context.getTransportOut().getSender();
-            sender.invoke(context);
+            sender.invoke(faultContext);
         } else if (!serverSide) {
 
             // if at the client side throw the exception

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/http/HTTPTransportReceiver.java Tue Apr 19 05:08:01 2005
@@ -90,27 +90,30 @@
      * @throws AxisFault
      */
     public void invoke(MessageContext msgContext) throws AxisFault {
-        Reader in =
-                (Reader) msgContext.getProperty(MessageContext.TRANSPORT_READER);
+        Reader in = (Reader) msgContext.getProperty(MessageContext.TRANSPORT_READER);
         if (in != null) {
             boolean serverSide = msgContext.isServerSide();
             Map map = parseTheHeaders(in, serverSide);
             if (serverSide) {
                 msgContext.setProperty(
-                        MessageContext.SOAP_ACTION,
-                        map.get(HTTPConstants.HEADER_SOAP_ACTION));
+                    MessageContext.SOAP_ACTION,
+                    map.get(HTTPConstants.HEADER_SOAP_ACTION));
+
+                String requestURI = (String) map.get(HTTPConstants.REQUEST_URI);
                 msgContext.setTo(
-                        new EndpointReference(
-                                AddressingConstants.WSA_TO,
-                                (String) map.get(HTTPConstants.REQUEST_URI)));
+                    new EndpointReference(
+                        AddressingConstants.WSA_TO,
+                        getServiceLookUp(requestURI)));
 
                 // TODO see is it a Service request e.g. WSDL, list ....
                 // TODO take care of the other HTTPHeaders
             } else {
-                if (HTTPConstants.RESPONSE_ACK_CODE_VAL.equals(
-                        map.get(HTTPConstants.RESPONSE_CODE))) {
-                    msgContext.setProperty(MessageContext.TRANSPORT_SUCCEED,
-                            HTTPConstants.RESPONSE_ACK_CODE_VAL);
+                if (HTTPConstants
+                    .RESPONSE_ACK_CODE_VAL
+                    .equals(map.get(HTTPConstants.RESPONSE_CODE))) {
+                    msgContext.setProperty(
+                        MessageContext.TRANSPORT_SUCCEED,
+                        HTTPConstants.RESPONSE_ACK_CODE_VAL);
                     return;
                 }
 
@@ -118,13 +121,9 @@
             }
             AxisEngine axisEngine = new AxisEngine();
             try {
-                XMLStreamReader xmlreader =
-                        XMLInputFactory.newInstance().createXMLStreamReader(in);
-                StAXBuilder builder =
-                new StAXSOAPModelBuilder(OMFactory.newInstance(),
-                        xmlreader);
-                msgContext.setEnvelope(
-                        (SOAPEnvelope) builder.getDocumentElement());
+                XMLStreamReader xmlreader = XMLInputFactory.newInstance().createXMLStreamReader(in);
+                StAXBuilder builder = new StAXSOAPModelBuilder(OMFactory.newInstance(), xmlreader);
+                msgContext.setEnvelope((SOAPEnvelope) builder.getDocumentElement());
             } catch (Exception e) {
                 throw new AxisFault(e.getMessage(), e);
             }
@@ -157,8 +156,7 @@
      * @return
      * @throws AxisFault
      */
-    public HashMap parseTheHeaders(Reader reader, boolean serverSide)
-            throws AxisFault {
+    public HashMap parseTheHeaders(Reader reader, boolean serverSide) throws AxisFault {
         HashMap map = new HashMap();
         try {
             StringBuffer str = new StringBuffer();
@@ -168,8 +166,7 @@
             int start = 0;
             length = readLine(reader, buf);
             if (serverSide) {
-                if ((buf[0] == 'P') && (buf[1] == 'O') && (buf[2] == 'S')
-                        && (buf[3] == 'T')) {
+                if ((buf[0] == 'P') && (buf[1] == 'O') && (buf[2] == 'S') && (buf[3] == 'T')) {
                     index = 5;
                     value = readFirstLineArg(' ');
                     map.put(HTTPConstants.REQUEST_URI, value);
@@ -195,19 +192,19 @@
                 }
                 for (int i = 0; i < length; i++) {
                     switch (state) {
-                        case BEFORE_SEPERATOR:
+                        case BEFORE_SEPERATOR :
                             if (buf[i] == ':') {
                                 key = str.toString();
                                 str = new StringBuffer();
                                 state = AFTER_SEPERATOR;
                                 if (buf[i + 1] == ' ') {
-                                    i++;    // ignore next space
+                                    i++; // ignore next space
                                 }
                             } else {
                                 str.append(buf[i]);
                             }
                             break;
-                        case AFTER_SEPERATOR:
+                        case AFTER_SEPERATOR :
                             if (buf[i] == '\n') {
                                 value = str.toString();
                                 map.put(key, value);
@@ -229,9 +226,8 @@
                             // break;
                             // case END:
                             // break;
-                            default :
-                            throw new AxisFault("Error Occured Unknown state "
-                                            + state);
+                        default :
+                            throw new AxisFault("Error Occured Unknown state " + state);
                     }
                 }
                 state = BEFORE_SEPERATOR;
@@ -415,12 +411,24 @@
             }
         }
         if (c == -1) {
-            throw new AxisFault(
-                    "Every line should ends with the \n, unexpected End of stream");
+            throw new AxisFault("Every line should ends with the \n, unexpected End of stream");
         } else {
-            return (count > 0)
-                    ? count
-                    : -1;
+            return (count > 0) ? count : -1;
         }
+    }
+
+    private String getServiceLookUp(String requestURI) throws AxisFault {
+        final String URI_ID_STRING = "/services";
+              String filePart = requestURI;
+
+              int index = filePart.lastIndexOf(URI_ID_STRING);
+              String serviceStr = null;
+              if (index > 0) {
+                  serviceStr = filePart.substring(index + URI_ID_STRING.length() + 1);
+                  return serviceStr; 
+
+              } else {
+                  throw new AxisFault("Both the URI and SOAP_ACTION are Null");
+              }
     }
 }

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java?view=diff&r1=161875&r2=161876
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/CallUnregisteredServiceTest.java Tue Apr 19 05:08:01 2005
@@ -22,6 +22,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.axis.Constants;
 import org.apache.axis.addressing.AddressingConstants;
 import org.apache.axis.addressing.EndpointReference;
 import org.apache.axis.clientapi.Call;
@@ -41,8 +42,7 @@
     private Log log = LogFactory.getLog(getClass());
     private QName serviceName = new QName("", "EchoXMLService");
     private QName operationName = new QName("http://localhost/my", "echoOMElement");
-    private QName transportName = new QName("http://localhost/my", "NullTransport");
-
+    
     private EngineConfiguration engineRegistry;
     private MessageContext mc;
     private Thread thisThread;
@@ -78,9 +78,10 @@
             reqEnv.getBody().addChild(method);
 
             Call call = new Call();
-            EndpointReference targetEPR = new EndpointReference(AddressingConstants.WSA_TO, "http://127.0.0.1:" + UtilServer.TESTING_PORT + "/axis/services/EchoXMLService1");
+            EndpointReference targetEPR = new EndpointReference(AddressingConstants.WSA_TO, "http://127.0.0.1:" + (UtilServer.TESTING_PORT) + "/axis/services/EchoXMLService1");
             call.setTransport(Constants.TRANSPORT_HTTP);
             call.setTo(targetEPR);
+            call.setTransport(Constants.TRANSPORT_HTTP);
             SOAPEnvelope resEnv = call.sendReceiveSync(reqEnv);
 
             SOAPBody sb = resEnv.getBody();