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 di...@apache.org on 2007/07/21 09:00:47 UTC

svn commit: r558262 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2: description/ transport/http/ transport/nhttp/ util/

Author: dims
Date: Sat Jul 21 00:00:46 2007
New Revision: 558262

URL: http://svn.apache.org/viewvc?view=rev&rev=558262
Log:
Get WSDL2.0 generator to honot the host http header

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/ServerWorker.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java?view=diff&rev=558262&r1=558261&r2=558262
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java Sat Jul 21 00:00:46 2007
@@ -1146,10 +1146,22 @@
         }
     }
 
-    //WSDL 2.0
+    /**
+     * Print the WSDL2.0 with a default URL. This will be called only during codegen time.
+     *
+     * @param out
+     * @throws AxisFault
+     */
     public void printWSDL2(OutputStream out) throws AxisFault {
+        printWSDL2(out, null);
+    }
+
+    public void printWSDL2(OutputStream out, String requestIP) throws AxisFault {
         AxisService2WSDL20 axisService2WSDL2 = new AxisService2WSDL20(this);
         try {
+            if(requestIP != null) {
+                axisService2WSDL2.setEPRs(calculateEPRs(requestIP));
+            }
             OMElement wsdlElement = axisService2WSDL2.generateOM();
             wsdlElement.serialize(out);
             out.flush();

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java?view=diff&rev=558262&r1=558261&r2=558262
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService2WSDL20.java Sat Jul 21 00:00:46 2007
@@ -48,6 +48,7 @@
 public class AxisService2WSDL20 implements WSDL2Constants {
 
     private AxisService axisService;
+    private String[] eprs = null;
 
     public AxisService2WSDL20(AxisService service) {
         this.axisService = service;
@@ -268,7 +269,7 @@
             }
             descriptionElement
                     .addChild(WSDLSerializationUtil.generateServiceElement(omFactory, wsdl, tns,
-                                                                           axisService, disableREST));
+                                                                           axisService, disableREST, eprs));
         }
 
         return descriptionElement;
@@ -428,5 +429,9 @@
             }
         }
         return axisOperationElement;
+    }
+
+    public void setEPRs(String[] eprs) {
+        this.eprs = eprs;
     }
 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java?view=diff&rev=558262&r1=558261&r2=558262
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java Sat Jul 21 00:00:46 2007
@@ -131,7 +131,7 @@
                 if (service != null) {
                     response.setStatus(HttpStatus.SC_OK);
                     response.setContentType("text/xml");
-                    service.printWSDL2(response.getOutputStream());
+                    service.printWSDL2(response.getOutputStream(), getHost(request));
                     return;
                 }
             }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java?view=diff&rev=558262&r1=558261&r2=558262
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java Sat Jul 21 00:00:46 2007
@@ -221,6 +221,7 @@
                 if (wsdl2 >= 0) {
                     OutputStream out = res.getOutputStream();
                     res.setContentType("text/xml");
+                    String ip = extractHostAndPort(filePart, isHttp);
                     String wsdlName = req.getParameter("wsdl2");
                     if (!"".equals(wsdlName)) {
                         InputStream in = ((AxisService) serviceObj).getClassLoader()
@@ -234,7 +235,7 @@
                         }
                     } else {
                         ((AxisService) serviceObj)
-                                .printWSDL2(out);
+                                .printWSDL2(out, ip);
                         out.flush();
                         out.close();
                     }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/ServerWorker.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/ServerWorker.java?view=diff&rev=558262&r1=558261&r2=558262
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/ServerWorker.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/nhttp/ServerWorker.java Sat Jul 21 00:00:46 2007
@@ -296,9 +296,11 @@
                 try {
                     response.addHeader(CONTENT_TYPE, TEXT_XML);
                     serverHandler.commitResponse(conn, response);
-                    service.printWSDL2(os);
-
+                    service.printWSDL2(os, getIpAddress());
                 } catch (AxisFault e) {
+                    handleException("Axis2 fault writing ?wsdl2 output", e);
+                    return;
+                } catch (SocketException e) {
                     handleException("Axis2 fault writing ?wsdl2 output", e);
                     return;
                 }

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java?view=diff&rev=558262&r1=558261&r2=558262
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java Sat Jul 21 00:00:46 2007
@@ -282,9 +282,28 @@
                                                    OMNamespace tns, AxisService axisService,
                                                    boolean disableREST)
             throws AxisFault {
-        String[] eprs = axisService.getEPRs();
-        if (eprs == null) {
-            eprs = new String[]{axisService.getName()};
+        return generateServiceElement(omFactory, wsdl, tns, axisService, disableREST, null);
+    }
+    
+    /**
+     * Generates a default service element
+     * @param omFactory - The OMFactory
+     * @param wsdl the WSDL namespace
+     * @param tns - The targetnamespace
+     * @param axisService - The AxisService
+     * @param disableREST only generate REST endpoint if this is false
+     * @return - The generated service element
+     * @throws AxisFault - Thrown in case an exception occurs
+     */
+    public static OMElement generateServiceElement(OMFactory omFactory, OMNamespace wsdl,
+                                                   OMNamespace tns, AxisService axisService,
+                                                   boolean disableREST, String[] eprs)
+            throws AxisFault {
+        if(eprs == null){
+            eprs = axisService.getEPRs();
+            if (eprs == null) {
+                eprs = new String[]{axisService.getName()};
+            }
         }
         OMElement serviceElement;
         serviceElement = omFactory.createOMElement(WSDL2Constants.SERVICE_LOCAL_NAME, wsdl);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org