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 pr...@apache.org on 2008/01/15 17:22:27 UTC
svn commit: r612147 [13/17] - in /webservices/axis2/branches/java/jaxws21:
./ modules/adb-codegen/ modules/adb-codegen/src/org/apache/axis2/schema/
modules/adb-codegen/src/org/apache/axis2/schema/template/
modules/adb-codegen/src/org/apache/axis2/schem...
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL20ToAxisServiceBuilder.java Tue Jan 15 08:21:22 2008
@@ -43,6 +43,7 @@
import org.apache.woden.internal.wsdl20.extensions.http.HTTPBindingExtensionsImpl;
import org.apache.woden.internal.wsdl20.extensions.http.HTTPHeaderImpl;
import org.apache.woden.internal.wsdl20.extensions.soap.SOAPBindingExtensionsImpl;
+import org.apache.woden.resolver.URIResolver;
import org.apache.woden.schema.Schema;
import org.apache.woden.types.NamespaceDeclaration;
import org.apache.woden.wsdl20.Binding;
@@ -65,6 +66,8 @@
import org.apache.woden.wsdl20.extensions.http.HTTPBindingOperationExtensions;
import org.apache.woden.wsdl20.extensions.http.HTTPHeader;
import org.apache.woden.wsdl20.extensions.http.HTTPLocation;
+import org.apache.woden.wsdl20.extensions.rpc.RPCInterfaceOperationExtensions;
+import org.apache.woden.wsdl20.extensions.rpc.Argument;
import org.apache.woden.wsdl20.extensions.soap.SOAPBindingExtensions;
import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultExtensions;
import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultReferenceExtensions;
@@ -77,6 +80,7 @@
import org.apache.woden.wsdl20.xml.DocumentableElement;
import org.apache.woden.wsdl20.xml.DocumentationElement;
import org.apache.woden.wsdl20.xml.TypesElement;
+import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
import org.apache.woden.xml.XMLAttr;
import org.apache.ws.commons.schema.XmlSchema;
import org.apache.ws.commons.schema.utils.NamespaceMap;
@@ -91,10 +95,8 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -122,6 +124,8 @@
private boolean isAllPorts;
+ private URIResolver customWSDLResolver;
+
// As bindings are processed add it to this array so that we dont process the same binding twice
private Map processedBindings;
@@ -182,6 +186,15 @@
isAllPorts = allPorts;
}
+ /**
+ * sets a custom WSDL locator
+ *
+ * @param customResolver
+ */
+ public void setCustomWSDLResolver(URIResolver customResolver) {
+ this.customWSDLResolver = customResolver;
+ }
+
public AxisService populateService() throws AxisFault {
try {
@@ -433,6 +446,9 @@
Document document = documentBuilder.parse(in);
WSDLReader reader = DOMWSDLFactory.newInstance().newWSDLReader();
+ if (customWSDLResolver != null) {
+ reader.setURIResolver(customWSDLResolver);
+ }
// This turns on WSDL validation which is set off by default.
reader.setFeature(WSDLReader.FEATURE_VALIDATION, true);
WSDLSource wsdlSource = reader.createWSDLSource();
@@ -985,6 +1001,26 @@
axisOperation.addParameter(parameter);
}
+ RPCInterfaceOperationExtensions rpcInterfaceOperationExtensions;
+ try {
+ rpcInterfaceOperationExtensions = (RPCInterfaceOperationExtensions) operation
+ .getComponentExtensionsForNamespace(
+ new URI(WSDL2Constants.URI_WSDL2_RPC));
+ } catch (URISyntaxException e) {
+ throw new AxisFault("WSDL2 extensions not defined for this operation");
+ }
+
+ if (rpcInterfaceOperationExtensions != null) {
+ String rpcsig = "";
+ Argument[] signatures = rpcInterfaceOperationExtensions.getRPCSignature();
+ for (int i = 0; i < signatures.length; i++) {
+ Argument sigArgument = signatures[i];
+ rpcsig = rpcsig + sigArgument.getName().getLocalPart() + " " + sigArgument.getDirection() + " ";
+ }
+ Parameter parameter = new Parameter(WSDL2Constants.ATTR_WRPC_SIGNATURE, rpcsig);
+ axisOperation.addParameter(parameter);
+ }
+
InterfaceMessageReference[] interfaceMessageReferences = operation
.getInterfaceMessageReferences();
for (int i = 0; i < interfaceMessageReferences.length; i++) {
@@ -1048,7 +1084,14 @@
QName elementQName = null;
if (WSDL2Constants.NMTOKEN_ELEMENT.equals(messageContentModelName)) {
- elementQName = messageReference.getElementDeclaration().getName();
+ ElementDeclaration elementDeclaration = messageReference.getElementDeclaration();
+ if (elementDeclaration == null) {
+ InterfaceMessageReferenceElement messageReferenceElement =
+ messageReference.toElement();
+ QName qName = messageReferenceElement.getElement().getQName();
+ throw new AxisFault("Unable to find element " + qName.toString() + " reffered to by operation " + axisOperation.getName().getLocalPart());
+ }
+ elementQName = elementDeclaration.getName();
} else if (WSDL2Constants.NMTOKEN_ANY.equals(messageContentModelName)) {
elementQName = Constants.XSD_ANY;
} else
@@ -1097,8 +1140,11 @@
private Description readInTheWSDLFile(String wsdlURI) throws WSDLException {
WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
+ if (customWSDLResolver != null) {
+ reader.setURIResolver(customWSDLResolver);
+ }
// This turns on WSDL validation which is set off by default.
-// reader.setFeature(WSDLReader.FEATURE_VALIDATION, true);
+ reader.setFeature(WSDLReader.FEATURE_VALIDATION, true);
// Log when and from where the WSDL is loaded.
if (log.isDebugEnabled()) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL2Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL2Constants.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL2Constants.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/WSDL2Constants.java Tue Jan 15 08:21:22 2008
@@ -128,7 +128,7 @@
String MESSAGE_LABEL_OUT = "Out";
String RPC_IN = "#in";
- String RPC_OUT = "#out";
+ String RPC_RETURN = "#return";
String RPC_INOUT = "#inout";
String HTTP_LOCATION_TABLE = "HTTPLocationTable";
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Tue Jan 15 08:21:22 2008
@@ -20,6 +20,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.deployment.util.Utils;
+import org.apache.axis2.deployment.util.BeanExcludeInfo;
import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
@@ -34,7 +35,6 @@
import org.codehaus.jam.*;
import javax.xml.namespace.QName;
-import javax.activation.DataHandler;
import java.util.*;
public class DefaultSchemaGenerator implements Java2WSDLConstants, SchemaGenerator {
@@ -409,8 +409,8 @@
/**
* Generate schema construct for given type
- *
- * @param javaType
+ * @param javaType : Class to whcih need to generate Schema
+ * @return : Generated QName
*/
private QName generateSchema(JClass javaType) throws Exception {
String name = getQualifiedName(javaType);
@@ -441,7 +441,8 @@
JClass sup = javaType.getSuperclass();
if ((sup != null) && !("java.lang.Object".compareTo(sup.getQualifiedName()) == 0) &&
- !("org.apache.axis2".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)) {
+ !("org.apache.axis2".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)
+ &&!("java.util".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)) {
String superClassName = sup.getQualifiedName();
String superclassname = getSimpleName(sup);
String tgtNamespace;
@@ -502,8 +503,17 @@
Set propertiesNames = new HashSet();
JProperty[] tempProperties = javaType.getDeclaredProperties();
+ BeanExcludeInfo beanExcludeInfo = null;
+ if (service.getExcludeInfo() !=null) {
+ beanExcludeInfo = service.getExcludeInfo().getBeanExcludeInfoForClass(
+ javaType.getQualifiedName());
+ }
for (int i = 0; i < tempProperties.length; i++) {
- propertiesSet.add(tempProperties[i]);
+ JProperty tempProperty = tempProperties[i];
+ String propertyName = getCorrectName(tempProperty.getSimpleName());
+ if ((beanExcludeInfo == null) || !beanExcludeInfo.isExcludedProperty(propertyName)){
+ propertiesSet.add(tempProperty);
+ }
}
JProperty[] properties = (JProperty[]) propertiesSet.toArray(new JProperty[0]);
@@ -528,14 +538,20 @@
for (int i = 0; i < tempFields.length; i++) {
// create a element for the field only if it is public
// and there is no property with the same name
-
if (tempFields[i].isPublic()) {
+ if (tempFields[i].isStatic()){
+// We do not need to expose static fields
+ continue;
+ }
+ String propertyName = getCorrectName(tempFields[i].getSimpleName());
+ if ((beanExcludeInfo == null) || !beanExcludeInfo.isExcludedProperty(propertyName)) {
+ // skip field with same name as a property
+ if (!propertiesNames.contains(tempFields[i].getSimpleName())) {
- // skip field with same name as a property
- if (!propertiesNames.contains(tempFields[i].getSimpleName())) {
-
- FieldMap.put(tempFields[i].getSimpleName(), tempFields[i]);
+ FieldMap.put(tempFields[i].getSimpleName(), tempFields[i]);
+ }
}
+
}
}
@@ -694,8 +710,12 @@
if ("javax.activation.DataHandler".equals(classType)) {
return true;
} else {
- JClass superClass = clazz.getSuperclass();
- return superClass != null && isDataHandler(superClass);
+ JClass supuerClass = clazz.getSuperclass();
+ if (supuerClass != null) {
+ return isDataHandler(supuerClass);
+ } else {
+ return false;
+ }
}
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java Tue Jan 15 08:21:22 2008
@@ -20,6 +20,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.deployment.util.Utils;
+import org.apache.axis2.deployment.util.BeanExcludeInfo;
import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
@@ -343,7 +344,8 @@
JClass sup = javaType.getSuperclass();
if ((sup != null) && !("java.lang.Object".compareTo(sup.getQualifiedName()) == 0) &&
- !("org.apache.axis2".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)) {
+ !("org.apache.axis2".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)
+ &&!("java.util".compareTo(sup.getContainingPackage().getQualifiedName()) == 0)) {
String superClassName = sup.getQualifiedName();
String superclassname = getSimpleName(sup);
String tgtNamespace;
@@ -403,9 +405,18 @@
Set propertiesSet = new HashSet();
Set propertiesNames = new HashSet();
+ BeanExcludeInfo beanExcludeInfo = null;
+ if (service.getExcludeInfo() !=null) {
+ beanExcludeInfo = service.getExcludeInfo().getBeanExcludeInfoForClass(
+ javaType.getQualifiedName());
+ }
JProperty[] tempProperties = javaType.getDeclaredProperties();
for (int i = 0; i < tempProperties.length; i++) {
- propertiesSet.add(tempProperties[i]);
+ JProperty tempProperty = tempProperties[i];
+ String propertyName = getCorrectName(tempProperty.getSimpleName());
+ if ((beanExcludeInfo == null) || !beanExcludeInfo.isExcludedProperty(propertyName)){
+ propertiesSet.add(tempProperty);
+ }
}
JProperty[] properties = (JProperty[]) propertiesSet.toArray(new JProperty[0]);
@@ -430,13 +441,19 @@
for (int i = 0; i < tempFields.length; i++) {
// create a element for the field only if it is public
// and there is no property with the same name
-
if (tempFields[i].isPublic()) {
- // skip field with same name as a property
- if (!propertiesNames.contains(tempFields[i].getSimpleName())) {
+ if (tempFields[i].isStatic()) {
+// We do not need to expose static fields
+ continue;
+ }
+ String propertyName = getCorrectName(tempFields[i].getSimpleName());
+ if ((beanExcludeInfo == null) || !beanExcludeInfo.isExcludedProperty(propertyName)) {
+ // skip field with same name as a property
+ if (!propertiesNames.contains(tempFields[i].getSimpleName())) {
- FieldMap.put(tempFields[i].getSimpleName(), tempFields[i]);
+ FieldMap.put(tempFields[i].getSimpleName(), tempFields[i]);
+ }
}
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java Tue Jan 15 08:21:22 2008
@@ -63,7 +63,7 @@
simpleTypetoxsd.put("byte",
new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "byte", "xs"));
simpleTypetoxsd.put("char",
- ANY_TYPE);
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "string", "xs"));
simpleTypetoxsd.put("java.lang.Integer",
new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "int", "xs"));
simpleTypetoxsd.put("java.lang.Double",
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Jan 15 08:21:22 2008
@@ -32,6 +32,7 @@
import org.apache.axis2.description.java2wsdl.Java2WSDLConstants;
import org.apache.axis2.i18n.Messages;
import org.apache.axis2.phaseresolver.PhaseResolver;
+import org.apache.axis2.phaseresolver.PhaseMetadata;
import org.apache.axis2.transport.MessageFormatter;
import org.apache.axis2.util.TargetResolver;
import org.apache.axis2.util.Utils;
@@ -815,14 +816,14 @@
/**
* This method needs to remain for a few Axis2 releases to support
* legacy apps still using it.
- *
+ *
* @param qname
* @deprecated Use {@link #isEngaged(String)}
*/
public boolean isEngaged(QName qname) {
return isEngaged(qname.getLocalPart());
}
-
+
public boolean isEngaged(String moduleId) {
AxisModule module = getModule(moduleId);
if (module == null) {
@@ -1105,5 +1106,104 @@
if (configurator != null) {
configurator.cleanup();
}
+ }
+
+ /**
+ * This method can be used to insert a phase at the runtime for a given location
+ * And the relative location can be specified by beforePhase and afterPhase. Parameters
+ * Either or both of them can be null , if both the parameters are null then the phase
+ * will be added some where in the global phase. If one of them are null then the phase
+ * will be added
+ * - If the beforePhase is null then the phase will be added after the afterPhase
+ * - If the after phase is null then the phase will be added before the beforePhase
+ * Type of the flow will be specified by the parameter flow.
+ * 1 - Inflow
+ * 2 - out flow
+ * 3 - fault in flow
+ * 4 - fault out flow
+ *
+ * @param d the Deployable representing the Phase to deploy
+ * @param flow the type of the flow
+ * @throws org.apache.axis2.AxisFault : If something went wrong
+ */
+ public void insertPhase(Deployable d, int flow) throws AxisFault {
+
+ switch (flow) {
+ case PhaseMetadata.IN_FLOW : {
+ List phaseList = phasesinfo.getINPhases();
+ phaseList = findAndInsertPhase(d, phaseList);
+ if (phaseList != null) {
+ phasesinfo.setINPhases((ArrayList)phaseList);
+ }
+ break;
+ }
+ case PhaseMetadata.OUT_FLOW : {
+ List phaseList = phasesinfo.getOUTPhases();
+ phaseList = findAndInsertPhase(d, phaseList);
+ if (phaseList != null) {
+ phasesinfo.setOUTPhases((ArrayList)phaseList);
+ }
+ break;
+ }
+ case PhaseMetadata.FAULT_OUT_FLOW : {
+ List phaseList = phasesinfo.getOutFaultPhaseList();
+ phaseList = findAndInsertPhase(d, phaseList);
+ if (phaseList != null) {
+ phasesinfo.setOUT_FaultPhases((ArrayList)phaseList);
+ }
+ break;
+ }
+ case PhaseMetadata.FAULT_IN_FLOW : {
+ List phaseList = phasesinfo.getIN_FaultPhases();
+ phaseList = findAndInsertPhase(d, phaseList);
+ if (phaseList != null) {
+ phasesinfo.setIN_FaultPhases((ArrayList)phaseList);
+ }
+ break;
+ }
+ }
+ }
+
+ /**
+ * Insert a Phase
+ * @param d
+ * @param phaseList
+ * @return
+ * @throws AxisFault
+ */
+ private List findAndInsertPhase(Deployable d, List phaseList) throws AxisFault {
+ DeployableChain ec = new DeployableChain();
+ String last = null;
+ for (Iterator i = phaseList.iterator(); i.hasNext();) {
+ Phase phase = (Phase)i.next();
+ String name = phase.getName();
+ Deployable existing = new Deployable(name);
+ existing.setTarget(phase);
+ if (last != null) {
+ // Set up explicit chain relationship for preexisting phases, for now.
+ ec.addRelationship(last, name);
+ }
+ last = name;
+ try {
+ ec.deploy(existing);
+ } catch (Exception e) {
+ // This should never happen when building a simple list like the above
+ throw AxisFault.makeFault(e);
+ }
+ }
+ Phase phase = new Phase();
+ phase.setName(d.getName());
+ d.setTarget(phase);
+
+ try {
+ ec.deploy(d);
+ ec.rebuild();
+ } catch (Exception e) {
+ throw AxisFault.makeFault(e);
+ }
+
+ phaseList = ec.getChain();
+
+ return phaseList;
}
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/phaseresolver/PhaseHolder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/phaseresolver/PhaseHolder.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/phaseresolver/PhaseHolder.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/phaseresolver/PhaseHolder.java Tue Jan 15 08:21:22 2008
@@ -26,7 +26,6 @@
import org.apache.axis2.engine.Phase;
import org.apache.axis2.i18n.Messages;
-import java.util.ArrayList;
import java.util.List;
/**
@@ -45,15 +44,15 @@
/**
* If the phase name is equal to "*" that implies , the handler should be
* added to each and every phase in the system for a given flow , and at that
- * point if the phase rule contains any before or aftere then they will be
+ * point if the phase rule contains any befores or afters then they will be
* ignored. Phase first and phase last are supported , but make sure you dont
* break any of the phase rules.
* <p/>
* If the phase name is not above then the hadler will be added to the phase
* specified by the phase rule , and no rules will be ignored.
*
- * @param handlerDesc
- * @throws PhaseException
+ * @param handlerDesc HandlerDescription to deploy
+ * @throws PhaseException if there's a problem
*/
public void addHandler(HandlerDescription handlerDesc) throws PhaseException {
PhaseRule rule = handlerDesc.getRules();
@@ -82,7 +81,8 @@
/**
* this method is used to get the actual phase object given in the phase array list
*
- * @param phaseName
+ * @param phaseName the name of the desired Phase
+ * @return the matching Phase, or null
*/
private Phase getPhase(String phaseName) {
for (int i = 0; i < phaseList.size(); i++) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/receivers/AbstractRobustInMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/receivers/AbstractRobustInMessageReceiver.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/receivers/AbstractRobustInMessageReceiver.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/receivers/AbstractRobustInMessageReceiver.java Tue Jan 15 08:21:22 2008
@@ -28,5 +28,5 @@
*
* @deprecated not needed, since in-only MessageReceivers can throw faults
*/
-public abstract class AbstractRobustInMessageReceiver extends AbstractMessageReceiver {
+public abstract class AbstractRobustInMessageReceiver extends AbstractMessageReceiver{
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/TransportUtils.java Tue Jan 15 08:21:22 2008
@@ -141,13 +141,16 @@
}
// Some services send REST responces as text/xml. We should convert it to
// application/xml if its a REST response, if not it will try to use the SOAPMessageBuilder.
- if (HTTPConstants.MEDIA_TYPE_TEXT_XML.equals(type)) {
+ // isDoingREST should already be properly set by HTTPTransportUtils.initializeMessageContext
+ if (msgContext.isDoingREST() && HTTPConstants.MEDIA_TYPE_TEXT_XML.equals(type)) {
+// if (HTTPConstants.MEDIA_TYPE_TEXT_XML.equals(type)) {
if (msgContext.isServerSide()) {
if (msgContext.getSoapAction() == null) {
type = HTTPConstants.MEDIA_TYPE_APPLICATION_XML;
}
- } else if (msgContext.isDoingREST() &&
- !msgContext.isPropertyTrue(Constants.Configuration.SOAP_RESPONSE_MEP)) {
+// } else if (msgContext.isDoingREST() &&
+// !msgContext.isPropertyTrue(Constants.Configuration.SOAP_RESPONSE_MEP)) {
+ } else if (!msgContext.isPropertyTrue(Constants.Configuration.SOAP_RESPONSE_MEP)) {
type = HTTPConstants.MEDIA_TYPE_APPLICATION_XML;
}
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AbstractHTTPSender.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AbstractHTTPSender.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AbstractHTTPSender.java Tue Jan 15 08:21:22 2008
@@ -517,6 +517,10 @@
HTTPConstants.COMPRESSION_GZIP);
}
+ String cookiePolicy = (String) msgContext.getProperty(HTTPConstants.COOKIE_POLICY);
+ if (cookiePolicy != null) {
+ method.getParams().setCookiePolicy(cookiePolicy);
+ }
httpClient.executeMethod(config, method);
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java Tue Jan 15 08:21:22 2008
@@ -773,7 +773,7 @@
* This is the helper Class use in processing of doGet, doPut , doDelete and doPost.
*/
protected class RestRequestProcessor {
- private MessageContext messageContext;
+ protected MessageContext messageContext;
private HttpServletRequest request;
private HttpServletResponse response;
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/HTTPConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/HTTPConstants.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/HTTPConstants.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/HTTPConstants.java Tue Jan 15 08:21:22 2008
@@ -458,6 +458,12 @@
public static final String COMPRESSION_GZIP = "gzip";
/**
+ * Field to set the coockie policy of commons http client
+ * http://jakarta.apache.org/httpcomponents/httpclient-3.x/cookies.html
+ */
+ public static final String COOKIE_POLICY = "COOKIE_POLICY";
+
+ /**
* If you want the HTTP sender to indicate that it can accept a gziped
* response, set this message context property to true. The sender will
* automatically unzip the response if its gzipped.
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpService.java Tue Jan 15 08:21:22 2008
@@ -57,6 +57,7 @@
import org.apache.http.ProtocolException;
import org.apache.http.ProtocolVersion;
import org.apache.http.UnsupportedHttpVersionException;
+import org.apache.http.RequestLine;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpParamsLinker;
import org.apache.http.protocol.HttpContext;
@@ -140,6 +141,10 @@
HttpResponse response;
try {
HttpRequest request = conn.receiveRequest();
+ RequestLine requestLine = request.getRequestLine();
+ if (requestLine != null) {
+ msgContext.setProperty(HTTPConstants.HTTP_METHOD, requestLine.getMethod());
+ }
HttpParamsLinker.link(request, this.params);
ProtocolVersion ver = request.getRequestLine().getProtocolVersion();
if (!ver.lessEquals(HttpVersion.HTTP_1_1)) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/RESTUtil.java Tue Jan 15 08:21:22 2008
@@ -141,14 +141,13 @@
requestDispatcher.invoke(msgContext);
AxisService axisService = msgContext.getAxisService();
if (axisService != null) {
- RequestURIOperationDispatcher requestURIOperationDispatcher =
- new RequestURIOperationDispatcher();
- requestURIOperationDispatcher.invoke(msgContext);
-
+ HTTPLocationBasedDispatcher httpLocationBasedDispatcher =
+ new HTTPLocationBasedDispatcher();
+ httpLocationBasedDispatcher.invoke(msgContext);
if (msgContext.getAxisOperation() == null) {
- HTTPLocationBasedDispatcher httpLocationBasedDispatcher =
- new HTTPLocationBasedDispatcher();
- httpLocationBasedDispatcher.invoke(msgContext);
+ RequestURIOperationDispatcher requestURIOperationDispatcher =
+ new RequestURIOperationDispatcher();
+ requestURIOperationDispatcher.invoke(msgContext);
}
AxisOperation axisOperation;
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/URIEncoderDecoder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/URIEncoderDecoder.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/URIEncoderDecoder.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/http/util/URIEncoderDecoder.java Tue Jan 15 08:21:22 2008
@@ -205,6 +205,4 @@
return result.toString();
}
-}
-
-
+}
\ No newline at end of file
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java Tue Jan 15 08:21:22 2008
@@ -82,6 +82,7 @@
public static final String X_SERVICE_PATH = "X-Service-Path";
public static final String MAIL_SYNC = "_MAIL_SYNC_";
public static final String IN_REPLY_TO = "In-Reply-To";
+ public static final String RETURN_PATH = "Return-path";
public static final String MAILTO = "mailto";
public static final String MAPPING_TABLE = "mappingTable";
public static final String CALLBACK_TABLE = "callbackTable";
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java Tue Jan 15 08:21:22 2008
@@ -343,6 +343,15 @@
org.apache.axis2.transport.mail.Constants.MAILTO + ":" +
msg.getFrom()[0].toString());
transportInfo.setFrom(fromEPR);
+ } else {
+ String returnPath =
+ getMailHeader(msg, org.apache.axis2.transport.mail.Constants.RETURN_PATH);
+ returnPath = parseHeaderForLessThan(returnPath);
+ if (returnPath != null) {
+ EndpointReference fromEPR = new EndpointReference(
+ org.apache.axis2.transport.mail.Constants.MAILTO + ":" + returnPath);
+ transportInfo.setFrom(fromEPR);
+ }
}
// Save Message-Id to set as In-Reply-To on reply
@@ -488,6 +497,15 @@
} catch (MessagingException e) {
throw new AxisFault(e.getMessage(),e);
}
+ }
+
+ private String parseHeaderForLessThan(String value) {
+ if (value != null) {
+ if (value.length() > 1 && value.startsWith("<") && value.endsWith(">")) {
+ value = value.substring(1, value.length()-1);
+ }
+ }
+ return value;
}
private String parseHeaderForQuotes(String value) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java Tue Jan 15 08:21:22 2008
@@ -78,6 +78,8 @@
String WSDL_LOCATION_URI_OPTION = "uri";
String WSDL_VERSION_OPTION = "wv";
String WSDL_VERSION_OPTION_LONG = "wsdl-version";
+ String HTTP_PROXY_HOST_OPTION_LONG = "http-proxy-host";
+ String HTTP_PROXY_PORT_OPTION_LONG = "http-proxy-port";
String INVALID_OPTION = "INVALID_OPTION";
String EXTRA_OPTIONTYPE_PREFIX = "E";
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/JavaUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/JavaUtils.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/JavaUtils.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/JavaUtils.java Tue Jan 15 08:21:22 2008
@@ -69,6 +69,7 @@
|| ':' == c
|| '\u00B7' == c
|| '\u0387' == c
+ || '-' == c
|| '\u06DD' == c
|| '\u06DE' == c;
} // isPunctuation
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/MessageContextBuilder.java Tue Jan 15 08:21:22 2008
@@ -27,10 +27,13 @@
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultCode;
import org.apache.axiom.soap.SOAPFaultDetail;
import org.apache.axiom.soap.SOAPFaultReason;
+import org.apache.axiom.soap.SOAPFaultSubCode;
+import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -501,6 +504,28 @@
} else {
fault.getCode().getValue().setText(soapFaultCode);
}
+ }
+
+ if (axisFault != null && !context.isSOAP11()) {
+ if (axisFault.getFaultSubCodes() != null) {
+
+ List faultSubCodes = axisFault.getFaultSubCodes();
+
+ QName faultSubCodeQName;
+
+ for (Iterator subCodeiter = faultSubCodes.iterator(); subCodeiter.hasNext(); ) {
+
+ faultSubCodeQName = (QName) subCodeiter.next();
+
+ SOAPFactory sf = (SOAPFactory)envelope.getOMFactory();
+ SOAPFaultSubCode soapFaultSubCode = sf.createSOAPFaultSubCode(fault.getCode());
+ SOAPFaultValue saopFaultValue = sf.createSOAPFaultValue(fault.getCode());
+ saopFaultValue.setText(faultSubCodeQName);
+ soapFaultSubCode.setValue(saopFaultValue);
+ fault.getCode().setSubCode(soapFaultSubCode);
+ }
+
+ }
}
SOAPFaultReason faultReason = (SOAPFaultReason)context.getProperty(
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/Utils.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/Utils.java Tue Jan 15 08:21:22 2008
@@ -21,6 +21,7 @@
package org.apache.axis2.util;
import org.apache.axiom.om.util.UUIDGenerator;
+import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axis2.AxisFault;
@@ -471,18 +472,21 @@
// Else, extract it from the SOAPBody
if (result == null) {
SOAPEnvelope envelope = messageContext.getEnvelope();
- if (envelope == null || envelope.getBody() == null ||
- envelope.getBody().getFault() == null) {
- // Not going to be able to
- throw new IllegalArgumentException(
- "The MessageContext does not have an associated SOAPFault.");
+ SOAPFault soapFault;
+ SOAPBody soapBody;
+ if (envelope != null && (soapBody = envelope.getBody()) != null) {
+ if ((soapFault = soapBody.getFault()) != null) {
+ return new AxisFault(soapFault, messageContext);
+ }
+ // If its a REST response the content is not a SOAP envelop and hence we will
+ // Have use the soap body as the exception
+ if (messageContext.isDoingREST() && soapBody.getFirstElement() != null) {
+ return new AxisFault(soapBody.getFirstElement().toString());
+ }
}
- SOAPFault soapFault = envelope.getBody().getFault();
-
- // The AxisFault returned needs to have the MessageContext set on it so that
- // other programming models can potentially handle the fault with an
- // alternate deserialization.
- result = new AxisFault(soapFault, messageContext);
+ // Not going to be able to
+ throw new IllegalArgumentException(
+ "The MessageContext does not have an associated SOAPFault.");
}
return result;
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/util/WSDLSerializationUtil.java Tue Jan 15 08:21:22 2008
@@ -175,10 +175,10 @@
*/
public static OMElement generateSOAP11Binding(OMFactory fac, AxisService axisService,
OMNamespace wsdl, OMNamespace wsoap,
- OMNamespace tns) {
+ OMNamespace tns, String serviceName) {
OMElement binding = fac.createOMElement(WSDL2Constants.BINDING_LOCAL_NAME, wsdl);
binding.addAttribute(
- fac.createOMAttribute(WSDL2Constants.ATTRIBUTE_NAME, null, axisService.getName() +
+ fac.createOMAttribute(WSDL2Constants.ATTRIBUTE_NAME, null, serviceName +
Java2WSDLConstants.BINDING_NAME_SUFFIX));
binding.addAttribute(fac.createOMAttribute(WSDL2Constants.INTERFACE_LOCAL_NAME, null, tns
.getPrefix() + ":" + WSDL2Constants.DEFAULT_INTERFACE_NAME));
@@ -204,10 +204,10 @@
*/
public static OMElement generateSOAP12Binding(OMFactory fac, AxisService axisService,
OMNamespace wsdl, OMNamespace wsoap,
- OMNamespace tns) {
+ OMNamespace tns, String serviceName) {
OMElement binding = fac.createOMElement(WSDL2Constants.BINDING_LOCAL_NAME, wsdl);
binding.addAttribute(
- fac.createOMAttribute(WSDL2Constants.ATTRIBUTE_NAME, null, axisService.getName() +
+ fac.createOMAttribute(WSDL2Constants.ATTRIBUTE_NAME, null, serviceName +
Java2WSDLConstants.SOAP12BINDING_NAME_SUFFIX));
binding.addAttribute(fac.createOMAttribute(WSDL2Constants.INTERFACE_LOCAL_NAME, null, tns
.getPrefix() + ":" + WSDL2Constants.DEFAULT_INTERFACE_NAME));
@@ -233,9 +233,8 @@
*/
public static OMElement generateHTTPBinding(OMFactory fac, AxisService axisService,
OMNamespace wsdl, OMNamespace whttp,
- OMNamespace tns) {
+ OMNamespace tns, String serviceName) {
OMElement binding = fac.createOMElement(WSDL2Constants.BINDING_LOCAL_NAME, wsdl);
- String serviceName = axisService.getName();
binding.addAttribute(
fac.createOMAttribute(WSDL2Constants.ATTRIBUTE_NAME, null, serviceName +
Java2WSDLConstants.HTTP_BINDING));
@@ -258,7 +257,11 @@
return binding;
}
-private static void generateDefaultSOAPBindingOperations(AxisService axisService, OMFactory omFactory, OMElement binding, OMNamespace wsdl, OMNamespace tns, OMNamespace wsoap) { Iterator iterator = axisService.getChildren();
+ private static void generateDefaultSOAPBindingOperations(AxisService axisService,
+ OMFactory omFactory, OMElement binding,
+ OMNamespace wsdl, OMNamespace tns,
+ OMNamespace wsoap) {
+ Iterator iterator = axisService.getChildren();
while (iterator.hasNext()) {
AxisOperation axisOperation = (AxisOperation) iterator.next();
if (axisOperation.isControlOperation()) {
@@ -290,9 +293,11 @@
*/
public static OMElement generateServiceElement(OMFactory omFactory, OMNamespace wsdl,
OMNamespace tns, AxisService axisService,
- boolean disableREST, boolean disableSOAP12)
+ boolean disableREST, boolean disableSOAP12,
+ String serviceName)
throws AxisFault {
- return generateServiceElement(omFactory, wsdl, tns, axisService, disableREST, disableSOAP12, null);
+ return generateServiceElement(omFactory, wsdl, tns, axisService, disableREST, disableSOAP12,
+ null, serviceName);
}
/**
@@ -308,18 +313,19 @@
*/
public static OMElement generateServiceElement(OMFactory omFactory, OMNamespace wsdl,
OMNamespace tns, AxisService axisService,
- boolean disableREST, boolean disableSOAP12, String[] eprs)
+ boolean disableREST, boolean disableSOAP12,
+ String[] eprs, String serviceName)
throws AxisFault {
if(eprs == null){
eprs = axisService.getEPRs();
if (eprs == null) {
- eprs = new String[]{axisService.getName()};
+ eprs = new String[]{serviceName};
}
}
OMElement serviceElement;
serviceElement = omFactory.createOMElement(WSDL2Constants.SERVICE_LOCAL_NAME, wsdl);
serviceElement.addAttribute(omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_NAME,
- null, axisService.getName()));
+ null, serviceName));
serviceElement.addAttribute(omFactory.createOMAttribute(
WSDL2Constants.INTERFACE_LOCAL_NAME, null,
tns.getPrefix() + ":" + WSDL2Constants.DEFAULT_INTERFACE_NAME));
@@ -337,7 +343,7 @@
name + WSDL2Constants.DEFAULT_SOAP11_ENDPOINT_NAME));
soap11EndpointElement.addAttribute(omFactory.createOMAttribute(
WSDL2Constants.BINDING_LOCAL_NAME, null,
- tns.getPrefix() + ":" + axisService.getName() +
+ tns.getPrefix() + ":" + serviceName +
Java2WSDLConstants.BINDING_NAME_SUFFIX));
soap11EndpointElement.addAttribute(
omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_ADDRESS, null, epr));
@@ -352,7 +358,7 @@
name + WSDL2Constants.DEFAULT_SOAP12_ENDPOINT_NAME));
soap12EndpointElement.addAttribute(omFactory.createOMAttribute(
WSDL2Constants.BINDING_LOCAL_NAME, null,
- tns.getPrefix() + ":" + axisService.getName() +
+ tns.getPrefix() + ":" + serviceName +
Java2WSDLConstants.SOAP12BINDING_NAME_SUFFIX));
soap12EndpointElement.addAttribute(
omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_ADDRESS, null, epr));
@@ -368,7 +374,7 @@
name + WSDL2Constants.DEFAULT_HTTP_ENDPOINT_NAME));
httpEndpointElement.addAttribute(omFactory.createOMAttribute(
WSDL2Constants.BINDING_LOCAL_NAME, null,
- tns.getPrefix() + ":" + axisService.getName() + Java2WSDLConstants
+ tns.getPrefix() + ":" + serviceName + Java2WSDLConstants
.HTTP_BINDING));
httpEndpointElement.addAttribute(
omFactory.createOMAttribute(WSDL2Constants.ATTRIBUTE_ADDRESS, null, epr));
@@ -466,7 +472,9 @@
}
}
- public static void addWSDLDocumentationElement(AxisDescription axisDescription, OMElement omElement, OMFactory omFactory, OMNamespace wsdl) {
+ public static void addWSDLDocumentationElement(AxisDescription axisDescription,
+ OMElement omElement, OMFactory omFactory,
+ OMNamespace wsdl) {
OMNode documentationNode = axisDescription.getDocumentationNode();
OMElement documentation;
if (documentationNode != null) {
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/src/org/apache/axis2/wsdl/util/WSDLWrapperReloadImpl.java Tue Jan 15 08:21:22 2008
@@ -1071,7 +1071,7 @@
URI uri = null;
if (url != null) {
- uri = url.toURI();
+ uri = new URI(url.toString());
}
// Check if the uri has relative path
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/test-resources/deployment/module1/META-INF/module.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/test-resources/deployment/module1/META-INF/module.xml?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/test-resources/deployment/module1/META-INF/module.xml (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/test-resources/deployment/module1/META-INF/module.xml Tue Jan 15 08:21:22 2008
@@ -24,6 +24,9 @@
<handler name="h2" class="org.apache.axis2.registry.Handler3">
<order phase="OperationInPhase"/>
</handler>
+ <handler name="h6" class="org.apache.axis2.registry.Handler3">
+ <order phase="NewPhase"/>
+ </handler>
</InFlow>
<OutFlow>
@@ -48,4 +51,6 @@
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
<parameter name="para1" locked="xsd:true">10</parameter>
</operation>
+ <phase name="NewPhase" before="Dispatch" after="Security" flow="InFlow"/>
+ <phase name="NewPhase" before="Dispatch" flow="InFaultFlow"/>
</module>
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/DeploymentTotalTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/DeploymentTotalTest.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/DeploymentTotalTest.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/DeploymentTotalTest.java Tue Jan 15 08:21:22 2008
@@ -20,28 +20,57 @@
package org.apache.axis2.deployment;
import junit.framework.TestCase;
-import org.apache.axis2.AxisFault;
import org.apache.axis2.AbstractTestCase;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.registry.Handler3;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.axis2.description.Parameter;
import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.engine.Phase;
+import org.apache.axis2.engine.Handler;
import javax.xml.stream.XMLStreamException;
+import java.util.ArrayList;
public class DeploymentTotalTest extends TestCase {
- AxisConfiguration er;
+ AxisConfiguration axisConfig;
- public void testparseService1() throws AxisFault, XMLStreamException {
+ protected void setUp() throws Exception {
String filename = AbstractTestCase.basedir + "/target/test-resources/deployment";
- er = ConfigurationContextFactory
+ axisConfig = ConfigurationContextFactory
.createConfigurationContextFromFileSystem(filename, filename + "/axis2.xml")
.getAxisConfiguration();
+ axisConfig.engageModule("module1");
+ // OK, no exceptions. Now make sure we read the correct file...
+ }
- // OK, no exceptions. Now make sure we read the correct file...
- Parameter param = er.getParameter("FavoriteColor");
+ public void testparseService1() throws AxisFault, XMLStreamException {
+ Parameter param = axisConfig.getParameter("FavoriteColor");
assertNotNull("No FavoriteColor parameter in axis2.xml!", param);
-
assertEquals("purple", param.getValue());
+ }
+
+ public void testDynamicPhase() {
+ ArrayList inFlow = axisConfig.getInFlowPhases();
+ for (int i = 0; i < inFlow.size(); i++) {
+ Phase phase = (Phase) inFlow.get(i);
+ if (phase.getName().equals("NewPhase")) {
+ assertEquals("Wrong index for NewPhase!", 3, i);
+ assertEquals("Wrong # of handlers in NewPhase", 1, phase.getHandlerCount());
+ Handler h6 = (Handler)phase.getHandlers().get(0);
+ assertTrue("Wrong type for handler", h6 instanceof Handler3);
+ }
+ }
+
+ inFlow = axisConfig.getInFaultFlowPhases();
+ boolean found = false;
+ for (int i = 0; i < inFlow.size(); i++) {
+ Phase phase = (Phase) inFlow.get(i);
+ if (phase.getName().equals("NewPhase")) {
+ found = true;
+ }
+ }
+ assertTrue("NewPhase wasn't found in InFaultFlow", found);
}
}
Copied: webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java (from r610664, webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java?p2=webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java&p1=webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java&r1=610664&r2=612147&rev=612147&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/BeanExcludeInfoTest.java Tue Jan 15 08:21:22 2008
@@ -22,8 +22,8 @@
public void testIsExcludedProperty(){
BeanExcludeInfo beanExcludeInfo = new BeanExcludeInfo("[A-z]*String|DayPhoneTTY","DayPhoneTTYString");
- assertTrue(beanExcludeInfo.isExcluedProperty("DetailsString"));
- assertFalse(beanExcludeInfo.isExcluedProperty("DayPhoneTTYString"));
- assertFalse(beanExcludeInfo.isExcluedProperty("ElementDetils"));
+ assertTrue(beanExcludeInfo.isExcludedProperty("DetailsString"));
+ assertFalse(beanExcludeInfo.isExcludedProperty("DayPhoneTTYString"));
+ assertFalse(beanExcludeInfo.isExcludedProperty("ElementDetils"));
}
}
Copied: webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java (from r610664, webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java?p2=webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java&p1=webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java&r1=610664&r2=612147&rev=612147&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/deployment/util/ExcludeInfoTest.java Tue Jan 15 08:21:22 2008
@@ -27,17 +27,17 @@
excludeInfo.putBeanInfo("org.kp.anuhak.meta.[A-z]*",new BeanExcludeInfo("[A-z]*",null));
BeanExcludeInfo beanExcludeInfo = excludeInfo.getBeanExcludeInfoForClass("org.kp.anuhak.cdr.test.TestClass");
- assertFalse(beanExcludeInfo.isExcluedProperty("TestProperty"));
- assertTrue(beanExcludeInfo.isExcluedProperty("TestBool"));
- assertFalse(beanExcludeInfo.isExcluedProperty("isTestBool"));
+ assertFalse(beanExcludeInfo.isExcludedProperty("TestProperty"));
+ assertTrue(beanExcludeInfo.isExcludedProperty("TestBool"));
+ assertFalse(beanExcludeInfo.isExcludedProperty("isTestBool"));
beanExcludeInfo = excludeInfo.getBeanExcludeInfoForClass("org.kp.anuhak.cdr.types.TestClass");
- assertFalse(beanExcludeInfo.isExcluedProperty("TestProperty"));
- assertTrue(beanExcludeInfo.isExcluedProperty("TestString"));
- assertFalse(beanExcludeInfo.isExcluedProperty("isTestBool"));
+ assertFalse(beanExcludeInfo.isExcludedProperty("TestProperty"));
+ assertTrue(beanExcludeInfo.isExcludedProperty("TestString"));
+ assertFalse(beanExcludeInfo.isExcludedProperty("isTestBool"));
beanExcludeInfo = excludeInfo.getBeanExcludeInfoForClass("org.kp.anuhak.meta.TestClass");
- assertTrue(beanExcludeInfo.isExcluedProperty("TestProperty"));
+ assertTrue(beanExcludeInfo.isExcludedProperty("TestProperty"));
}
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/AxisServiceTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/AxisServiceTest.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/AxisServiceTest.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/AxisServiceTest.java Tue Jan 15 08:21:22 2008
@@ -23,6 +23,19 @@
import junit.framework.TestCase;
public class AxisServiceTest extends TestCase {
+ public static final String PARAM_NAME = "CustomParameter";
+ public static final Object PARAM_VALUE = new Object();
+
+ class MyObserver implements ParameterObserver {
+ public boolean gotIt = false;
+
+ public void parameterChanged(String name, Object value) {
+ if (PARAM_NAME.equals(name)) {
+ assertEquals("Wrong value", PARAM_VALUE, value);
+ gotIt = true;
+ }
+ }
+ }
public void testAddMessageElementQNameToOperationMappingBasic() {
AxisService service = new AxisService();
@@ -71,5 +84,13 @@
assertEquals(null, service.getOperationByMessageElementQName(opName));
}
-
+
+ public void testParameterObserver() throws Exception {
+ AxisService service = new AxisService();
+
+ MyObserver observer = new MyObserver();
+ service.addParameterObserver(observer);
+ service.addParameter(PARAM_NAME, PARAM_VALUE);
+ assertTrue("Didn't get notification", observer.gotIt);
+ }
}
Modified: webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/RegistryTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/RegistryTest.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/RegistryTest.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/kernel/test/org/apache/axis2/description/RegistryTest.java Tue Jan 15 08:21:22 2008
@@ -24,12 +24,14 @@
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.engine.Handler;
+import org.apache.axis2.engine.Phase;
import org.apache.axis2.handlers.AbstractHandler;
import javax.xml.namespace.QName;
+import java.util.ArrayList;
public class RegistryTest extends AbstractTestCase {
- private AxisConfiguration reg = new AxisConfiguration();
+ private AxisConfiguration axisConfiguration = new AxisConfiguration();
AxisService service = new AxisService("Service1");
public RegistryTest(String testName) {
@@ -43,13 +45,13 @@
}
public void testService() throws AxisFault {
- reg.addService(service);
+ axisConfiguration.addService(service);
testParameteInClude(service);
}
public void testModule() throws AxisFault {
AxisModule module = new AxisModule("module1");
- module.setParent(reg);
+ module.setParent(axisConfiguration);
testParameteInClude(module);
testFlowIncludeTest(module);
}
Modified: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/ExceptionFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/ExceptionFactory.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/ExceptionFactory.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/ExceptionFactory.java Tue Jan 15 08:21:22 2008
@@ -19,6 +19,7 @@
package org.apache.axis2.jaxws;
+import org.apache.axiom.om.OMException;
import org.apache.axis2.AxisFault;
import org.apache.axis2.jaxws.i18n.Messages;
import org.apache.commons.logging.Log;
@@ -257,6 +258,7 @@
while (t != null) {
Throwable nextCause = null;
if (t instanceof InvocationTargetException ||
+ t instanceof OMException ||
t instanceof AxisFault) {
// Skip over this cause
nextCause = getCause(t);
Modified: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java Tue Jan 15 08:21:22 2008
@@ -68,6 +68,29 @@
Class serviceClass) {
return DescriptionFactoryImpl.createServiceDescription(wsdlURL, serviceQName, serviceClass);
}
+
+
+ /**
+ * Create the initial ServiceDescripton hierachy on the CLIENT side. This allows a sparse DBC
+ * to be specified in addition to the service class. The sparce DBC can be used to override
+ * the class annotation member values.
+ *
+ * @see #createServiceDescription(URL, QName, Class)
+ *
+ * @param wsdlURL
+ * @param serviceQName
+ * @param serviceClass
+ * @param sparseComposite
+ * @param sparseCompositeKey
+ * @return
+ */
+ public static ServiceDescription createServiceDescription(URL wsdlURL,
+ QName serviceQName, Class serviceClass, DescriptionBuilderComposite sparseComposite,
+ Object sparseCompositeKey) {
+ return DescriptionFactoryImpl.createServiceDescription(wsdlURL, serviceQName,
+ serviceClass, sparseComposite,
+ sparseCompositeKey);
+ }
/**
* Retrieve or create the EndpointDescription hierachy associated with an existing CLIENT side
@@ -94,8 +117,32 @@
Class sei, QName portQName,
DescriptionFactory.UpdateType updateType) {
return DescriptionFactoryImpl
- .updateEndpoint(serviceDescription, sei, portQName, updateType);
- }
+ .updateEndpoint(serviceDescription, sei, portQName, updateType);
+ }
+
+ /**
+ * Retrieve or create an EndpointDescription hierachy associated with an existing CLIENT side
+ * ServiceDescription for a particular port. Additonal metdata may be specified in a sparse
+ * composite. That metadata may come from a JSR-109 client deployment descriptor, for example,
+ * or from resource injection of an WebServiceRef or other Resource annotation.
+ *
+ * @see #updateEndpoint(ServiceDescription, Class, QName, org.apache.axis2.jaxws.description.DescriptionFactory.UpdateType)
+ *
+ * @param serviceDescription
+ * @param sei
+ * @param portQName
+ * @param updateType
+ * @param composite
+ * @return
+ */
+ public static EndpointDescription updateEndpoint(ServiceDescription serviceDescription,
+ Class sei, QName portQName,
+ DescriptionFactory.UpdateType updateType,
+ DescriptionBuilderComposite composite,
+ Object sparseCompositeKey) {
+ return DescriptionFactoryImpl
+ .updateEndpoint(serviceDescription, sei, portQName, updateType, composite, sparseCompositeKey);
+}
/**
* Retrieve or create the EndpointDescription hierachy associated with an existing CLIENT side
Modified: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/EndpointDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/EndpointDescription.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/EndpointDescription.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/EndpointDescription.java Tue Jan 15 08:21:22 2008
@@ -22,6 +22,7 @@
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.description.AxisService;
+import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
import org.apache.axis2.jaxws.description.xml.handler.HandlerChainsType;
import javax.xml.namespace.QName;
@@ -135,4 +136,11 @@
public abstract QName getServiceQName();
public abstract Service.Mode getServiceMode();
+
+ /**
+ * Return the DescriptionBuilderComposite, if any, used to build this service description.
+ * @return
+ */
+ public DescriptionBuilderComposite getDescriptionBuilderComposite();
+
}
Modified: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/OperationDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/OperationDescription.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/OperationDescription.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/OperationDescription.java Tue Jan 15 08:21:22 2008
@@ -212,6 +212,11 @@
* @return OperationDescription corresponding to the sync operation, or null (see note above).
*/
public OperationDescription getSyncOperation();
+
+ /**
+ * @return Attachment Description for the return type or null
+ */
+ public AttachmentDescription getResultAttachmentDescription();
/**
* Returns the namespace of binding input message for the operation
@@ -224,7 +229,23 @@
public String getBindingOutputNamespace();
/**
- * @return Attachment Description for the return type or null
- */
- public AttachmentDescription getResultAttachmentDescription();
+ * @return a boolean indicator of nested swaRef attachments on the request.
+ */
+ public boolean hasRequestSwaRefAttachments();
+
+ /**
+ * @param sets the indicator of nested request swaRef attachments.
+ */
+ public void setHasRequestSwaRefAttachments(boolean b);
+
+ /**
+ * @return a boolean indicator of nested swaRef attachments on the response.
+ */
+ public boolean hasResponseSwaRefAttachments();
+
+ /**
+ * @param sets the indicator of nested response swaRef attachments.
+ */
+ public void setHasResponseSwaRefAttachments(boolean b);
+
}
Modified: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java Tue Jan 15 08:21:22 2008
@@ -99,5 +99,19 @@
public void setServiceRuntimeDesc(ServiceRuntimeDescription ord);
public boolean isServerSide();
-
+
+ /**
+ * Answer if MTOM is enabled for the service represented by this Service Description. This
+ * is currently only supported on the service-requester side; it is not supported on the
+ * service-provider side. If the key is non-null, it is used to look up an sparse metadata
+ * that may have been specified when the Service Description was created.
+ *
+ * @param key If non-null, used to look up any sparse metadata that may have been specified
+ * when the service was created.
+ * @return TRUE if mtom was enabled either in the sparse metadata or in the composite; FALSE
+ * othewise.
+ */
+ public boolean isMTOMEnabled(Object key);
+
+ public QName getPreferredPort(Object key);
}
Modified: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java?rev=612147&r1=612146&r2=612147&view=diff
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java Tue Jan 15 08:21:22 2008
@@ -41,6 +41,15 @@
public static BindingTypeAnnot createBindingTypeAnnotImpl(String value) {
return new BindingTypeAnnot(value);
}
+
+ public static BindingTypeAnnot createFromAnnotation(Annotation annotation) {
+ BindingTypeAnnot returnAnnot = null;
+ if (annotation != null && annotation instanceof javax.xml.ws.BindingType) {
+ javax.xml.ws.BindingType bt = (javax.xml.ws.BindingType) annotation;
+ returnAnnot = new BindingTypeAnnot(bt.value());
+ }
+ return returnAnnot;
+ }
/** @return Returns the value. */
public String value() {
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org