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 ga...@apache.org on 2008/10/05 04:49:47 UTC
svn commit: r701745 - in
/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws:
context/utils/ContextUtils.java server/dispatcher/JavaBeanDispatcher.java
server/dispatcher/ProviderDispatcher.java
Author: gawor
Date: Sat Oct 4 19:49:46 2008
New Revision: 701745
URL: http://svn.apache.org/viewvc?rev=701745&view=rev
Log:
refactor/clean up ContextUtils
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java?rev=701745&r1=701744&r2=701745&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/context/utils/ContextUtils.java Sat Oct 4 19:49:46 2008
@@ -29,6 +29,7 @@
import org.apache.axis2.jaxws.description.ServiceDescription;
import org.apache.axis2.jaxws.description.ServiceDescriptionWSDL;
import org.apache.axis2.jaxws.i18n.Messages;
+import org.apache.axis2.jaxws.server.endpoint.lifecycle.impl.EndpointLifecycleManagerImpl;
import org.apache.axis2.jaxws.utility.JavaUtils;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.commons.logging.Log;
@@ -49,7 +50,6 @@
public class ContextUtils {
private static final Log log = LogFactory.getLog(ContextUtils.class);
- private static final String WEBSERVICE_MESSAGE_CONTEXT = "javax.xml.ws.WebServiceContext";
/**
* Adds the appropriate properties to the MessageContext that the user will see
@@ -77,19 +77,9 @@
log.warn(Messages.getMessage("addPropertiesErr",
wsdlLocation.toString(),description.getServiceQName().toString()));
}
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_DESCRIPTION, wsdlLocationURI);
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.WSDL_DESCRIPTION,
- Scope.APPLICATION);
- }
-
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_SERVICE, description.getServiceQName());
- soapMessageContext
- .setScope(javax.xml.ws.handler.MessageContext.WSDL_SERVICE, Scope.APPLICATION);
- if (log.isDebugEnabled()) {
- log.debug("WSDL_SERVICE :" + description.getServiceQName());
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_DESCRIPTION, wsdlLocationURI, true);
}
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_SERVICE, description.getServiceQName(), true);
}
}
@@ -103,11 +93,7 @@
}
List<Element> list = new ReferenceParameterList(header);
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.REFERENCE_PARAMETERS, list);
- soapMessageContext
- .setScope(javax.xml.ws.handler.MessageContext.REFERENCE_PARAMETERS, Scope.APPLICATION);
-
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.REFERENCE_PARAMETERS, list);
if (log.isDebugEnabled()) {
log.debug("Added reference parameter list.");
}
@@ -118,10 +104,7 @@
(ServletContext)jaxwsMessageContext.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
if (servletContext != null) {
log.debug("Servlet Context Set");
- soapMessageContext.put(javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT,
- servletContext);
- soapMessageContext
- .setScope(javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT, Scope.APPLICATION);
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT, servletContext);
} else {
log.debug("Servlet Context not found");
}
@@ -132,11 +115,8 @@
if (log.isDebugEnabled()) {
log.debug("HTTPServletRequest not found");
}
- }
- if (req != null) {
- soapMessageContext.put(javax.xml.ws.handler.MessageContext.SERVLET_REQUEST, req);
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.SERVLET_REQUEST,
- Scope.APPLICATION);
+ } else {
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.SERVLET_REQUEST, req);
if (log.isDebugEnabled()) {
log.debug("SERVLET_REQUEST Set");
}
@@ -147,9 +127,7 @@
} catch (Throwable t){
log.debug("exception in getPathInfo", t);
}
- soapMessageContext.put(javax.xml.ws.handler.MessageContext.PATH_INFO, pathInfo);
- soapMessageContext
- .setScope(javax.xml.ws.handler.MessageContext.PATH_INFO, Scope.APPLICATION);
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.PATH_INFO, pathInfo);
if (log.isDebugEnabled()) {
if (pathInfo != null) {
log.debug("HTTP_REQUEST_PATHINFO Set");
@@ -158,9 +136,7 @@
}
}
String queryString = req.getQueryString();
- soapMessageContext.put(javax.xml.ws.handler.MessageContext.QUERY_STRING, queryString);
- soapMessageContext
- .setScope(javax.xml.ws.handler.MessageContext.QUERY_STRING, Scope.APPLICATION);
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.QUERY_STRING, queryString);
if (log.isDebugEnabled()) {
if (queryString != null) {
log.debug("HTTP_REQUEST_QUERYSTRING Set");
@@ -169,9 +145,7 @@
}
}
String method = req.getMethod();
- soapMessageContext.put(javax.xml.ws.handler.MessageContext.HTTP_REQUEST_METHOD, method);
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.HTTP_REQUEST_METHOD,
- Scope.APPLICATION);
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.HTTP_REQUEST_METHOD, method);
if (log.isDebugEnabled()) {
if (method != null) {
log.debug("HTTP_REQUEST_METHOD Set");
@@ -187,11 +161,8 @@
if (log.isDebugEnabled()) {
log.debug("Servlet Response not found");
}
- }
- if (res != null) {
- soapMessageContext.put(javax.xml.ws.handler.MessageContext.SERVLET_RESPONSE, res);
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.SERVLET_RESPONSE,
- Scope.APPLICATION);
+ } else {
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.SERVLET_RESPONSE, res);
if (log.isDebugEnabled()) {
log.debug("SERVLET_RESPONSE Set");
}
@@ -200,54 +171,30 @@
}
public static void addWSDLProperties(MessageContext jaxwsMessageContext) {
- org.apache.axis2.context.MessageContext msgContext =
- jaxwsMessageContext.getAxisMessageContext();
- ServiceContext serviceContext = msgContext.getServiceContext();
- SOAPMessageContext soapMessageContext = null;
- if (serviceContext != null) {
- WebServiceContext wsc =
- (WebServiceContext)serviceContext.getProperty(WEBSERVICE_MESSAGE_CONTEXT);
- if (wsc != null) {
- soapMessageContext = (SOAPMessageContext)wsc.getMessageContext();
- }
- }
+ addWSDLProperties(jaxwsMessageContext, getSOAPMessageContext(jaxwsMessageContext));
+ }
+
+ public static void addWSDLProperties(MessageContext jaxwsMessageContext,
+ SOAPMessageContext soapMessageContext) {
OperationDescription op = jaxwsMessageContext.getOperationDescription();
if (op != null && soapMessageContext != null) {
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_OPERATION, op.getName());
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.WSDL_OPERATION,
- Scope.APPLICATION);
- if (log.isDebugEnabled()) {
- log.debug("WSDL_OPERATION :" + op.getName());
- }
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_OPERATION, op.getName(), true);
EndpointInterfaceDescription eid = op.getEndpointInterfaceDescription();
if (eid != null) {
EndpointDescription ed = eid.getEndpointDescription();
QName portType = eid.getPortType();
- if (portType == null || portType.getLocalPart() == "") {
+ if (portType == null || portType.getLocalPart().length() == 0) {
if (log.isDebugEnabled()) {
log.debug(
"Did not get port type from EndpointInterfaceDescription, attempting to get PortType from EndpointDescription");
}
}
if (ed != null) {
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_PORT, ed.getPortQName());
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.WSDL_PORT,
- Scope.APPLICATION);
- if (log.isDebugEnabled()) {
- log.debug("WSDL_PORT :" + ed.getPortQName());
- }
- }
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_INTERFACE, portType);
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.WSDL_INTERFACE,
- Scope.APPLICATION);
- if (log.isDebugEnabled()) {
- log.debug("WSDL_INTERFACE :" + portType);
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_PORT, ed.getPortQName(), true);
}
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_INTERFACE, portType, true);
}
} else {
if (log.isDebugEnabled()) {
@@ -257,40 +204,21 @@
}
public static void addWSDLProperties_provider(MessageContext jaxwsMessageContext) {
- org.apache.axis2.context.MessageContext msgContext =
- jaxwsMessageContext.getAxisMessageContext();
- ServiceContext serviceContext = msgContext.getServiceContext();
- SOAPMessageContext soapMessageContext = null;
- if (serviceContext != null) {
- WebServiceContext wsc =
- (WebServiceContext)serviceContext.getProperty(WEBSERVICE_MESSAGE_CONTEXT);
- if (wsc != null) {
- soapMessageContext = (SOAPMessageContext)wsc.getMessageContext();
- }
- }
-
+ addWSDLProperties_provider(jaxwsMessageContext, getSOAPMessageContext(jaxwsMessageContext));
+ }
+
+ public static void addWSDLProperties_provider(MessageContext jaxwsMessageContext,
+ SOAPMessageContext soapMessageContext) {
QName op = jaxwsMessageContext.getOperationName();
if (op != null && soapMessageContext != null) {
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_OPERATION, op);
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.WSDL_OPERATION,
- Scope.APPLICATION);
- if (log.isDebugEnabled()) {
- log.debug("WSDL_OPERATION :" + op);
- }
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_OPERATION, op, true);
//EndpointInterfaceDescription eid = op.getEndpointInterfaceDescription();
EndpointDescription ed = jaxwsMessageContext.getEndpointDescription();
if (ed != null) {
- soapMessageContext
- .put(javax.xml.ws.handler.MessageContext.WSDL_PORT, ed.getPortQName());
- soapMessageContext.setScope(javax.xml.ws.handler.MessageContext.WSDL_PORT,
- Scope.APPLICATION);
- if (log.isDebugEnabled()) {
- log.debug("WSDL_PORT :" + ed.getPortQName());
- }
+ setProperty(soapMessageContext, javax.xml.ws.handler.MessageContext.WSDL_PORT, ed.getPortQName(), true);
}
} else {
if (log.isDebugEnabled()) {
@@ -298,6 +226,31 @@
}
}
}
-
-
+
+ private static SOAPMessageContext getSOAPMessageContext(MessageContext jaxwsMessageContext) {
+ org.apache.axis2.context.MessageContext msgContext =
+ jaxwsMessageContext.getAxisMessageContext();
+ ServiceContext serviceContext = msgContext.getServiceContext();
+ SOAPMessageContext soapMessageContext = null;
+ if (serviceContext != null) {
+ WebServiceContext wsc =
+ (WebServiceContext)serviceContext.getProperty(EndpointLifecycleManagerImpl.WEBSERVICE_MESSAGE_CONTEXT);
+ if (wsc != null) {
+ soapMessageContext = (SOAPMessageContext)wsc.getMessageContext();
+ }
+ }
+ return soapMessageContext;
+ }
+
+ private static void setProperty(SOAPMessageContext context, String name, Object value) {
+ setProperty(context, name, value, false);
+ }
+
+ private static void setProperty(SOAPMessageContext context, String name, Object value, boolean logMessage) {
+ context.put(name, value);
+ context.setScope(name, Scope.APPLICATION);
+ if (logMessage && log.isDebugEnabled()) {
+ log.debug(name + " :" + value);
+ }
+ }
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java?rev=701745&r1=701744&r2=701745&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java Sat Oct 4 19:49:46 2008
@@ -206,7 +206,7 @@
return;
}
- private void initialize(MessageContext mc) {
+ protected void initialize(MessageContext mc) {
mc.setOperationName(mc.getAxisMessageContext().getAxisOperation().getName());
mc.setOperationDescription(Utils.getOperationDescription(mc));
endpointDesc = mc.getEndpointDescription();
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java?rev=701745&r1=701744&r2=701745&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java Sat Oct 4 19:49:46 2008
@@ -638,7 +638,7 @@
return m;
}
- private void initialize(MessageContext mc) {
+ protected void initialize(MessageContext mc) {
mc.setOperationName(mc.getAxisMessageContext().getAxisOperation().getName());