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