Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6 | Andrea | 1 | <%-- |
2 | ~ Licensed to the Apache Software Foundation (ASF) under one |
||
3 | ~ or more contributor license agreements. See the NOTICE file |
||
4 | ~ distributed with this work for additional information |
||
5 | ~ regarding copyright ownership. The ASF licenses this file |
||
6 | ~ to you under the Apache License, Version 2.0 (the |
||
7 | ~ "License"); you may not use this file except in compliance |
||
8 | ~ with the License. You may obtain a copy of the License at |
||
9 | ~ |
||
10 | ~ http://www.apache.org/licenses/LICENSE-2.0 |
||
11 | ~ |
||
12 | ~ Unless required by applicable law or agreed to in writing, |
||
13 | ~ software distributed under the License is distributed on an |
||
14 | ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
||
15 | ~ KIND, either express or implied. See the License for the |
||
16 | ~ specific language governing permissions and limitations |
||
17 | ~ under the License. |
||
18 | --%> |
||
19 | |||
20 | <%@ page import="org.apache.axis2.AxisFault" %> |
||
21 | <%@ page import="org.apache.axis2.Constants" %> |
||
22 | <%@ page import="org.apache.axis2.addressing.EndpointReference" %> |
||
23 | <%@ page import="org.apache.axis2.client.Options" %> |
||
24 | <%@ page import="org.apache.axis2.client.ServiceClient" %> |
||
25 | <%@ page import="org.apache.axis2.context.ConfigurationContext" %> |
||
26 | <%@ page import="org.apache.axis2.context.ConfigurationContextFactory" %> |
||
27 | <%@ page import="org.apache.axis2.context.ServiceContext" %> |
||
28 | <%@ page import="org.apache.axis2.context.ServiceGroupContext" %> |
||
29 | <%@ page import="org.apache.axis2.deployment.util.PhasesInfo" %> |
||
30 | <%@ page import="org.apache.axis2.description.AxisModule" %> |
||
31 | <%@ page import="org.apache.axis2.description.AxisOperation" %> |
||
32 | <%@ page import="org.apache.axis2.description.AxisService" %> |
||
33 | <%@ page import="org.apache.axis2.description.AxisServiceGroup" %> |
||
34 | <%@ page import="org.apache.axis2.description.Parameter" %> |
||
35 | <%@ page import="org.apache.axis2.engine.AxisConfiguration" %> |
||
36 | <%@ page import="org.apache.axis2.engine.Handler" %> |
||
37 | <%@ page import="org.apache.axis2.engine.Phase" %> |
||
38 | <%@ page import="org.apache.axis2.transport.http.AxisServlet" %> |
||
39 | <%@ page import="org.apache.axis2.util.JavaUtils" %> |
||
40 | <%@ page import="javax.xml.parsers.SAXParser" %> |
||
41 | <%@ page import="javax.xml.parsers.SAXParserFactory" %> |
||
42 | <%@ page import="java.io.IOException" %> |
||
43 | <%@ page import="java.io.InputStream" %> |
||
44 | <%@ page import="java.io.StringWriter" %> |
||
45 | <%@ page import="java.util.ArrayList" %> |
||
46 | <%@ page import="java.util.Collection" %> |
||
47 | <%@ page import="java.util.Enumeration" %> |
||
48 | <%@ page import="java.util.HashMap" %> |
||
49 | <%@ page import="java.util.Hashtable" %> |
||
50 | <%@ page import="java.util.Iterator" %> |
||
51 | <%! |
||
52 | private String frontendHostUrl; |
||
53 | |||
54 | public void jspInit() { |
||
55 | ServletContext context = this.getServletConfig().getServletContext(); |
||
56 | ConfigurationContext configctx = (ConfigurationContext) context.getAttribute(AxisServlet.CONFIGURATION_CONTEXT); |
||
57 | if (configctx != null){ |
||
58 | Parameter parameter = configctx.getAxisConfiguration().getParameter(Constants.HTTP_FRONTEND_HOST_URL); |
||
59 | if (parameter != null) { |
||
60 | frontendHostUrl = (String) parameter.getValue(); |
||
61 | } |
||
62 | } |
||
63 | } |
||
64 | |||
65 | public String calculateHttpBase(HttpServletRequest aRequest) { |
||
66 | StringBuffer stringBuffer = new StringBuffer(); |
||
67 | if (frontendHostUrl != null) { |
||
68 | stringBuffer.append(frontendHostUrl); |
||
69 | } else { |
||
70 | String scheme = aRequest.getScheme(); |
||
71 | stringBuffer.append(scheme); |
||
72 | stringBuffer.append("://"); |
||
73 | stringBuffer.append(aRequest.getServerName()); |
||
74 | if (("http".equalsIgnoreCase(scheme) && aRequest.getServerPort() != 80) || "https".equalsIgnoreCase(scheme) && aRequest.getServerPort() != 443) |
||
75 | { |
||
76 | stringBuffer.append(":"); |
||
77 | stringBuffer.append(aRequest.getServerPort()); |
||
78 | } |
||
79 | // I think i saw web containers return null for root web context |
||
80 | if (aRequest.getContextPath() != null) { |
||
81 | stringBuffer.append(aRequest.getContextPath()); |
||
82 | } |
||
83 | } |
||
84 | // append / char if needed |
||
85 | if (stringBuffer.charAt(stringBuffer.length() - 1) != '/') { |
||
86 | stringBuffer.append("/"); |
||
87 | } |
||
88 | String curentUrl = stringBuffer.toString(); |
||
89 | aRequest.setAttribute("frontendHostUrl", curentUrl); |
||
90 | return curentUrl; |
||
91 | } |
||
92 | %><base href="<%= calculateHttpBase(request)%>"/> |