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 ch...@apache.org on 2005/06/23 10:58:56 UTC
svn commit: r193115 - in /webservices/axis/trunk/java/modules:
addressing/src/org/apache/axis/handlers/addressing/
addressing/test-resources/
addressing/test/org/apache/axis/handlers/addressing/
core/src/org/apache/axis/addressing/ core/test-resources/...
Author: chinthaka
Date: Thu Jun 23 01:58:54 2005
New Revision: 193115
URL: http://svn.apache.org/viewcvs?rev=193115&view=rev
Log:
Fixing addressing support with new spec features.
Fixed test cases
Fixed a bug in OM
Modified:
webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingInHandler.java
webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingOutHandler.java
webservices/axis/trunk/java/modules/addressing/test-resources/OutHandlerTest.xml
webservices/axis/trunk/java/modules/addressing/test-resources/eprTest.xml
webservices/axis/trunk/java/modules/addressing/test/org/apache/axis/handlers/addressing/AddressingOutHandlerTest.java
webservices/axis/trunk/java/modules/core/src/org/apache/axis/addressing/AddressingConstants.java
webservices/axis/trunk/java/modules/core/test-resources/OutHandlerTest.xml
webservices/axis/trunk/java/modules/wsdl/src/org/apache/wsdl/WSDLConstants.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/OMElementImpl.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/util/XMLComparator.java
Modified: webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingInHandler.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingInHandler.java (original)
+++ webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingInHandler.java Thu Jun 23 01:58:54 2005
@@ -81,6 +81,7 @@
logger.debug("No Addressing Headers present in the IN message. Addressing In Handler does nothing.");
}
}
+ msgContext.setProperty(WS_ADDRESSING_VERSION, addressingNamespace, true);
} catch (AddressingException e) {
logger.info("Exception occurred in Addressing Module");
throw new AxisFault(e);
@@ -99,7 +100,7 @@
Iterator headerBlocks = header.getChildren();
while (headerBlocks.hasNext()) {
SOAPHeaderBlock soapHeaderBlock = (SOAPHeaderBlock) headerBlocks.next();
- if (Final.WSA_TYPE_ATTRIBUTE_VALUE.equals(soapHeaderBlock.getFirstAttribute(new QName(Final.WSA_NAMESPACE, Final.WSA_TYPE_ATTRIBUTE)).getValue())) {
+ if (Final.WSA_TYPE_ATTRIBUTE_VALUE.equals(soapHeaderBlock.getFirstAttribute(new QName(Final.WSA_NAMESPACE, Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE)).getValue())) {
messageInformationHeaders.addReferenceParameter(soapHeaderBlock);
}
}
@@ -136,21 +137,21 @@
epr = new EndpointReference(AddressingConstants.WSA_FROM, "");
messageInformationHeadersCollection.setFrom(epr);
}
- extractEPRInformation(soapHeaderBlock, epr, addressingNamespace);
+ extractEPRAddressInformation(soapHeaderBlock, epr, addressingNamespace);
} else if (AddressingConstants.WSA_REPLY_TO.equals(soapHeaderBlock.getLocalName())) {
epr = messageInformationHeadersCollection.getReplyTo();
if (epr == null) {
epr = new EndpointReference(AddressingConstants.WSA_REPLY_TO, "");
messageInformationHeadersCollection.setReplyTo(epr);
}
- extractEPRInformation(soapHeaderBlock, epr, addressingNamespace);
+ extractEPRAddressInformation(soapHeaderBlock, epr, addressingNamespace);
} else if (AddressingConstants.WSA_FAULT_TO.equals(soapHeaderBlock.getLocalName())) {
epr = messageInformationHeadersCollection.getFaultTo();
if (epr == null) {
epr = new EndpointReference(AddressingConstants.WSA_FAULT_TO, "");
messageInformationHeadersCollection.setTo(epr);
}
- extractEPRInformation(soapHeaderBlock, epr, addressingNamespace);
+ extractEPRAddressInformation(soapHeaderBlock, epr, addressingNamespace);
} else if (AddressingConstants.WSA_MESSAGE_ID.equals(soapHeaderBlock.getLocalName())) {
messageInformationHeadersCollection.setMessageId(soapHeaderBlock.getText());
} else if (AddressingConstants.WSA_ACTION.equals(soapHeaderBlock.getLocalName())) {
@@ -168,7 +169,7 @@
}
- private void extractEPRInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace) {
+ private void extractEPRAddressInformation(SOAPHeaderBlock headerBlock, EndpointReference epr, String addressingNamespace) {
OMElement address = headerBlock.getFirstChildWithName(new QName(addressingNamespace, AddressingConstants.EPR_ADDRESS));
if (address != null) {
epr.setAddress(address.getText());
Modified: webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingOutHandler.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingOutHandler.java (original)
+++ webservices/axis/trunk/java/modules/addressing/src/org/apache/axis/handlers/addressing/AddressingOutHandler.java Thu Jun 23 01:58:54 2005
@@ -1,6 +1,7 @@
package org.apache.axis.handlers.addressing;
import org.apache.axis.addressing.*;
+import org.apache.axis.addressing.AddressingConstants.Submission;
import org.apache.axis.addressing.miheaders.RelatesTo;
import org.apache.axis.context.MessageContext;
import org.apache.axis.engine.AxisFault;
@@ -10,9 +11,11 @@
import org.apache.axis.om.OMNamespace;
import org.apache.axis.soap.SOAPHeader;
import org.apache.axis.soap.SOAPHeaderBlock;
+import org.apache.wsdl.WSDLConstants;
import javax.xml.namespace.QName;
import java.util.Iterator;
+
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
@@ -52,8 +55,8 @@
// boolean variable will create room for that.
private boolean overrideINMessageInformation = false;
- OMNamespace addressingNamespace =
- OMAbstractFactory.getSOAP11Factory().createOMNamespace(Submission.WSA_NAMESPACE, "wsa");
+ OMNamespace addressingNamespaceObject;
+ String addressingNamespace;
public void invoke(MessageContext msgContext) throws AxisFault {
@@ -61,6 +64,25 @@
return;
}
+ // check for a IN message context, else default to WSA Submission
+ if (msgContext.getOperationContext() != null) {
+ MessageContext inMessageContext = msgContext.getOperationContext().getMessageContext(WSDLConstants.MESSAGE_LABEL_IN);
+ if (inMessageContext == null) {
+ addressingNamespace = Submission.WSA_NAMESPACE; // setting Submission version as the default addressing namespace
+ } else {
+ addressingNamespace = (String) inMessageContext.getProperty(WS_ADDRESSING_VERSION);
+ if (addressingNamespace == null) {
+ addressingNamespace = Submission.WSA_NAMESPACE; // Addressing version has not been set in the IN path
+ }
+ }
+ }
+
+ if (addressingNamespace == null || "".equals(addressingNamespace)) {
+ addressingNamespace = Submission.WSA_NAMESPACE;
+ }
+ addressingNamespaceObject = OMAbstractFactory.getOMFactory().createOMNamespace(addressingNamespace, WSA_DEFAULT_PRFIX);
+
+
MessageInformationHeadersCollection messageInformationHeaders =
msgContext.getMessageInformationHeaders();
SOAPHeader soapHeader = msgContext.getEnvelope().getHeader();
@@ -68,7 +90,19 @@
EndpointReference epr = messageInformationHeaders.getTo();
if (epr != null) {
- processStringInfo(epr.getAddress(), AddressingConstants.WSA_TO, soapHeader);
+
+ String address = epr.getAddress();
+ if (!"".equals(address) && address != null) {
+ SOAPHeaderBlock toHeaderBlock = soapHeader.addHeaderBlock(WSA_TO, addressingNamespaceObject);
+ toHeaderBlock.setText(address);
+ }
+
+ AnyContentType referenceParameters = epr.getReferenceParameters();
+ if (referenceParameters != null) {
+ processAnyContentType(referenceParameters, soapHeader);
+ }
+
+ addToHeader(epr, soapHeader);
}
String action = messageInformationHeaders.getAction();
@@ -85,6 +119,7 @@
if (epr != null) {//optional
addToSOAPHeader(epr, AddressingConstants.WSA_FROM, soapHeader);
}
+
epr = messageInformationHeaders.getFaultTo();
if (epr != null) {//optional
addToSOAPHeader(epr, AddressingConstants.WSA_FAULT_TO, soapHeader);
@@ -106,24 +141,22 @@
if ("".equals(relatesTo.getRelationshipType())) {
relatesToHeader.addAttribute(WSA_RELATES_TO_RELATIONSHIP_TYPE,
Submission.WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE,
- addressingNamespace);
+ addressingNamespaceObject);
} else {
relatesToHeader.addAttribute(WSA_RELATES_TO_RELATIONSHIP_TYPE,
relatesTo.getRelationshipType(),
- addressingNamespace);
+ addressingNamespaceObject);
}
}
-
-
private OMElement processStringInfo(String value,
String type,
SOAPHeader soapHeader) {
if (!"".equals(value) && value != null) {
SOAPHeaderBlock soapHeaderBlock =
- soapHeader.addHeaderBlock(type, addressingNamespace);
- soapHeaderBlock.addChild(OMAbstractFactory.getSOAP11Factory().createText(value));
+ soapHeader.addHeaderBlock(type, addressingNamespaceObject);
+ soapHeaderBlock.addChild(OMAbstractFactory.getOMFactory().createText(value));
return soapHeaderBlock;
}
return null;
@@ -135,57 +168,90 @@
if (epr == null) {
return;
}
+
+ SOAPHeaderBlock soapHeaderBlock =
+ soapHeader.addHeaderBlock(type, addressingNamespaceObject);
+
String address = epr.getAddress();
if (!"".equals(address) && address != null) {
- SOAPHeaderBlock soapHeaderBlock =
- soapHeader.addHeaderBlock(type, addressingNamespace);
OMElement addressElement =
- OMAbstractFactory.getSOAP11Factory().createOMElement(EPR_ADDRESS,
- addressingNamespace);
+ OMAbstractFactory.getOMFactory().createOMElement(EPR_ADDRESS,
+ addressingNamespaceObject);
soapHeaderBlock.addChild(addressElement);
addressElement.setText(address);
+ }
+
+ addToHeader(epr, soapHeaderBlock);
+
+
+ AnyContentType referenceParameters = epr.getReferenceParameters();
+ if (referenceParameters != null) {
+ OMElement reference =
+ OMAbstractFactory.getOMFactory().createOMElement(EPR_REFERENCE_PARAMETERS, addressingNamespaceObject);
+ soapHeaderBlock.addChild(reference);
+ processAnyContentType(referenceParameters, reference);
}
- QName portType = epr.getInterfaceName();
- if (portType != null) {
- SOAPHeaderBlock soapHeaderBlock =
- soapHeader.addHeaderBlock(Submission.EPR_PORT_TYPE, addressingNamespace);
- soapHeaderBlock.addChild(OMAbstractFactory.getSOAP11Factory().createText(portType.getPrefix() + ":" + portType.getLocalPart()));
+ if (Submission.WSA_NAMESPACE.equals(addressingNamespace)) {
+ AnyContentType referenceProperties = epr.getReferenceProperties();
+ if (referenceProperties != null) {
+ OMElement reference =
+ OMAbstractFactory.getOMFactory().createOMElement(Submission.EPR_REFERENCE_PROPERTIES, addressingNamespaceObject);
+ soapHeader.addChild(reference);
+ processAnyContentType(referenceParameters, reference);
+ }
+
+ }
+
+ }
+
+ private void addToHeader(EndpointReference epr, OMElement parentElement) {
+
+
+ QName interfaceQName = epr.getInterfaceName();
+ if (interfaceQName != null) {
+ OMElement interfaceName =
+ OMAbstractFactory.getOMFactory().createOMElement(addressingNamespace.equals(Submission.WSA_NAMESPACE) ? Submission.EPR_PORT_TYPE : Final.WSA_INTERFACE_NAME, addressingNamespaceObject);
+ interfaceName.addChild(OMAbstractFactory.getOMFactory().createText(interfaceQName.getPrefix() + ":" + interfaceQName.getLocalPart()));
+ parentElement.addChild(interfaceName);
}
ServiceName serviceName = epr.getServiceName();
if (serviceName != null) {
- SOAPHeaderBlock soapHeaderBlock =
- soapHeader.addHeaderBlock(EPR_SERVICE_NAME,
- addressingNamespace);
- soapHeaderBlock.addAttribute(Submission.EPR_SERVICE_NAME_PORT_NAME,
+ OMElement serviceNameElement =
+ OMAbstractFactory.getOMFactory().createOMElement(EPR_SERVICE_NAME,
+ addressingNamespaceObject);
+ serviceNameElement.addAttribute(addressingNamespace.equals(Submission.WSA_NAMESPACE) ? Submission.EPR_SERVICE_NAME_PORT_NAME : Final.WSA_SERVICE_NAME_ENDPOINT_NAME,
serviceName.getEndpointName(),
- addressingNamespace);
- soapHeaderBlock.addChild(OMAbstractFactory.getSOAP11Factory().createText(serviceName.getName().getPrefix()
+ addressingNamespaceObject);
+ serviceNameElement.addChild(OMAbstractFactory.getOMFactory().createText(serviceName.getName().getPrefix()
+ ":"
+ serviceName.getName().getLocalPart()));
+ parentElement.addChild(serviceNameElement);
}
- AnyContentType referenceParameters = epr.getReferenceParameters();
- processAnyContentType(referenceParameters, soapHeader);
-
- AnyContentType referenceProperties = epr.getReferenceProperties();
- processAnyContentType(referenceProperties, soapHeader);
}
- private void processAnyContentType(AnyContentType referenceParameters,
- SOAPHeader soapHeader) {
- if (referenceParameters != null) {
- Iterator iterator = referenceParameters.getKeys();
+
+ private void processAnyContentType
+ (AnyContentType
+ referenceValues,
+ OMElement
+ parentElement) {
+ if (referenceValues != null) {
+ Iterator iterator = referenceValues.getKeys();
while (iterator.hasNext()) {
QName key = (QName) iterator.next();
- String value = referenceParameters.getReferenceValue(key);
+ String value = referenceValues.getReferenceValue(key);
OMElement omElement =
- OMAbstractFactory.getSOAP11Factory().createOMElement(key, soapHeader);
- soapHeader.addChild(omElement);
- omElement.addChild(OMAbstractFactory.getSOAP11Factory().createText(value));
+ OMAbstractFactory.getOMFactory().createOMElement(key, parentElement);
+ if (Final.WSA_NAMESPACE.equals(addressingNamespace)) {
+ omElement.addAttribute(Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE, Final.WSA_TYPE_ATTRIBUTE_VALUE, addressingNamespaceObject);
+
+ }
+ omElement.setText(value);
}
}
}
Modified: webservices/axis/trunk/java/modules/addressing/test-resources/OutHandlerTest.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/addressing/test-resources/OutHandlerTest.xml?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/addressing/test-resources/OutHandlerTest.xml (original)
+++ webservices/axis/trunk/java/modules/addressing/test-resources/OutHandlerTest.xml Thu Jun 23 01:58:54 2005
@@ -1,14 +1,15 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
- <soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
+ <soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:myRef="http://reference.org">
<wsa:From>
<wsa:Address>http://www.from.org/service/</wsa:Address>
+ <wsa:ReferenceParameters>
+ <Reference2>Value 200</Reference2>
+ </wsa:ReferenceParameters>
</wsa:From>
<wsa:To>http://www.to.org/service/</wsa:To>
<wsa:MessageID>123456-7890</wsa:MessageID>
- <soapenv:Reference4>Value 400</soapenv:Reference4>
- <soapenv:Reference1>Value 100</soapenv:Reference1>
- <soapenv:Reference2>Value 200</soapenv:Reference2>
- <soapenv:Reference3>Value 300</soapenv:Reference3>
+ <myRef:Reference4>Value 400</myRef:Reference4>
+ <myRef:Reference3>Value 300</myRef:Reference3>
<wsa:ServiceName wsa:PortName="port">serviceNS:Service</wsa:ServiceName>
<wsa:PortType>portNS:Port</wsa:PortType>
<wsa:Action>http://www.actions.org/action</wsa:Action>
Modified: webservices/axis/trunk/java/modules/addressing/test-resources/eprTest.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/addressing/test-resources/eprTest.xml?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/addressing/test-resources/eprTest.xml (original)
+++ webservices/axis/trunk/java/modules/addressing/test-resources/eprTest.xml Thu Jun 23 01:58:54 2005
@@ -1,15 +1,13 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
- <soapenv:Reference4>Value 400</soapenv:Reference4>
- <soapenv:Reference1>Value 100</soapenv:Reference1>
- <soapenv:Reference0>Value 0</soapenv:Reference0>
- <soapenv:Reference2>Value 200</soapenv:Reference2>
- <soapenv:Reference3>Value 300</soapenv:Reference3>
+ <wsa:Reference4>Value 400</wsa:Reference4>
+ <wsa:Reference1>Value 100</wsa:Reference1>
+ <wsa:Reference0>Value 0</wsa:Reference0>
+ <wsa:Reference2>Value 200</wsa:Reference2>
+ <wsa:Reference3>Value 300</wsa:Reference3>
<wsa:ServiceName wsa:PortName="port">serviceNS:Service</wsa:ServiceName>
<wsa:PortType>portNS:Port</wsa:PortType>
- <wsa:From>
- <wsa:Address>http://www.from.org/service/</wsa:Address>
- </wsa:From>
+ <wsa:To>http://www.to.org/service/</wsa:To>
</soapenv:Header>
<soapenv:Body></soapenv:Body>
</soapenv:Envelope>
Modified: webservices/axis/trunk/java/modules/addressing/test/org/apache/axis/handlers/addressing/AddressingOutHandlerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/addressing/test/org/apache/axis/handlers/addressing/AddressingOutHandlerTest.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/addressing/test/org/apache/axis/handlers/addressing/AddressingOutHandlerTest.java (original)
+++ webservices/axis/trunk/java/modules/addressing/test/org/apache/axis/handlers/addressing/AddressingOutHandlerTest.java Thu Jun 23 01:58:54 2005
@@ -9,6 +9,7 @@
import org.apache.axis.addressing.EndpointReference;
import org.apache.axis.addressing.MessageInformationHeadersCollection;
import org.apache.axis.addressing.ServiceName;
+import org.apache.axis.addressing.AddressingConstants.Submission;
import org.apache.axis.addressing.miheaders.RelatesTo;
import org.apache.axis.context.MessageContext;
import org.apache.axis.handlers.util.TestUtil;
@@ -53,13 +54,13 @@
}
public void testAddToSOAPHeader() throws Exception {
- EndpointReference epr = new EndpointReference(WSA_FROM, "http://www.from.org/service/");
+ EndpointReference epr = new EndpointReference(WSA_TO, "http://www.to.org/service/");
epr.setInterfaceName(new QName("http://www.from.org/service/port/", "Port", "portNS"));
epr.setServiceName(new ServiceName(new QName("http://www.from.org/service/", "Service", "serviceNS"), "port"));
AnyContentType anyContentType = new AnyContentType();
for (int i = 0; i < 5; i++) {
- anyContentType.addReferenceValue(new QName("Reference" + i), "Value " + i * 100);
+ anyContentType.addReferenceValue(new QName(Submission.WSA_NAMESPACE, "Reference" + i), "Value " + i * 100);
}
@@ -68,7 +69,10 @@
SOAPEnvelope defaultEnvelope = OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
defaultEnvelope.getHeader().declareNamespace(Submission.WSA_NAMESPACE, "wsa");
- outHandler.addToSOAPHeader(epr, WSA_FROM, defaultEnvelope.getHeader());
+ MessageContext msgCtxt = new MessageContext(null);
+ msgCtxt.setTo(epr);
+ msgCtxt.setEnvelope(defaultEnvelope);
+ outHandler.invoke(msgCtxt);
StAXSOAPModelBuilder omBuilder = testUtil.getOMBuilder("eprTest.xml");
XMLComparator xmlComparator = new XMLComparator();
@@ -86,20 +90,17 @@
mIHeaders.setFrom(epr);
epr = new EndpointReference(WSA_TO, "http://www.to.org/service/");
- mIHeaders.setTo(epr);
-
- epr = new EndpointReference(WSA_REPLY_TO, "http://www.replyTo.org/service/");
referenceValues = new AnyContentType();
- referenceValues.addReferenceValue(new QName("Reference1"), "Value 100");
- epr.setReferenceProperties(referenceValues);
+ referenceValues.addReferenceValue(new QName("http://reference.org","Reference4", "myRef"), "Value 400");
+ referenceValues.addReferenceValue(new QName("http://reference.org","Reference3", "myRef"), "Value 300");
+ epr.setReferenceParameters(referenceValues);
+
epr.setServiceName(new ServiceName(new QName("http://www.from.org/service/", "Service", "serviceNS"), "port"));
- referenceValues.addReferenceValue(new QName("Reference3"), "Value 300");
+
epr.setInterfaceName(new QName("http://www.from.org/service/port/", "Port", "portNS"));
- epr.setReferenceProperties(referenceValues);
+ mIHeaders.setTo(epr);
- referenceValues = new AnyContentType();
- referenceValues.addReferenceValue(new QName("Reference4"), "Value 400");
- epr.setReferenceParameters(referenceValues);
+ epr = new EndpointReference(WSA_REPLY_TO, "http://www.replyTo.org/service/");
mIHeaders.setReplyTo(epr);
mIHeaders.setMessageId("123456-7890");
Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/addressing/AddressingConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/addressing/AddressingConstants.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/addressing/AddressingConstants.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/addressing/AddressingConstants.java Thu Jun 23 01:58:54 2005
@@ -58,8 +58,8 @@
public static final String WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE = "http://www.w3.org/2005/02/addressing/reply";
public static final String WSA_ANONYMOUS_URL = "http://www.w3.org/2005/02/addressing/role/anonymous";
- public static final String WSA_TYPE_ATTRIBUTE = "Type";
- public static final String WSA_TYPE_ATTRIBUTE_VALUE = "parameter";
+ public static final String WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE = "IsReferenceParameter";
+ public static final String WSA_TYPE_ATTRIBUTE_VALUE = "true";
public static final String WSA_INTERFACE_NAME = "InterfaceName";
public static final String WSA_SERVICE_NAME_ENDPOINT_NAME = "EndpointName";
@@ -68,5 +68,8 @@
}
+
+ public static final String WS_ADDRESSING_VERSION = "WSAddressingVersion";
+ public static final String WSA_DEFAULT_PRFIX = "wsa";
}
Modified: webservices/axis/trunk/java/modules/core/test-resources/OutHandlerTest.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test-resources/OutHandlerTest.xml?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/test-resources/OutHandlerTest.xml (original)
+++ webservices/axis/trunk/java/modules/core/test-resources/OutHandlerTest.xml Thu Jun 23 01:58:54 2005
@@ -1,16 +1,15 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
- <soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
+ <soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:myRef="http://reference.org">
<wsa:From>
<wsa:Address>http://www.from.org/service/</wsa:Address>
+ <wsa:ReferenceParameters>
+ <Reference2>Value 200</Reference2>
+ </wsa:ReferenceParameters>
</wsa:From>
- <wsa:To>
- <wsa:Address>http://www.to.org/service/</wsa:Address>
- </wsa:To>
+ <wsa:To>http://www.to.org/service/</wsa:To>
<wsa:MessageID>123456-7890</wsa:MessageID>
- <soapenv:Reference4>Value 400</soapenv:Reference4>
- <soapenv:Reference1>Value 100</soapenv:Reference1>
- <soapenv:Reference2>Value 200</soapenv:Reference2>
- <soapenv:Reference3>Value 300</soapenv:Reference3>
+ <myRef:Reference4>Value 400</myRef:Reference4>
+ <myRef:Reference3>Value 300</myRef:Reference3>
<wsa:ServiceName wsa:PortName="port">serviceNS:Service</wsa:ServiceName>
<wsa:PortType>portNS:Port</wsa:PortType>
<wsa:Action>http://www.actions.org/action</wsa:Action>
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/wsdl/WSDLConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/wsdl/WSDLConstants.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/wsdl/WSDLConstants.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/wsdl/WSDLConstants.java Thu Jun 23 01:58:54 2005
@@ -114,7 +114,7 @@
* following WSDL 2.0 defined MEPs: In-Only, Robust In-Only, In-Out,
* In-Optional-Out, Out-In, Out-Optional-In.
*/
- public static final int MESSAGE_LABEL_IN = 0;
+ public static final byte MESSAGE_LABEL_IN = 0;
public static final String MESSAGE_LABEL_IN_VALUE = "In";
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/OMElementImpl.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/OMElementImpl.java Thu Jun 23 01:58:54 2005
@@ -149,31 +149,33 @@
if (!"".equals(namespaceURI)) {
ns = findNamespace(qname.getNamespaceURI(),
qname.getPrefix());
- } else {
- if (parent != null) {
- ns = parent.getNamespace();
- } else {
- throw new OMException("Element can not be declared without a namespaceURI. Every Element should be namespace qualified");
- }
- }
+// } else {
+// if (parent != null) {
+// ns = parent.getNamespace();
+// } else {
+// throw new OMException("Element can not be declared without a namespaceURI. Every Element should be namespace qualified");
+// }
+// }
- /**
- * What is left now is
- * 1. nsURI = null & parent != null, but ns = null
- * 2. nsURI != null, (parent doesn't have an ns with given URI), but ns = null
- */
- if ((ns == null) && !"".equals(namespaceURI)) {
- String prefix = qname.getPrefix();
- if (!"".equals(prefix)) {
- ns = declareNamespace(namespaceURI, prefix);
- } else {
- ns = declareNamespace(namespaceURI, getNextNamespacePrefix());
+ /**
+ * What is left now is
+ * 1. nsURI = null & parent != null, but ns = null
+ * 2. nsURI != null, (parent doesn't have an ns with given URI), but ns = null
+ */
+ if ((ns == null) && !"".equals(namespaceURI)) {
+ String prefix = qname.getPrefix();
+ if (!"".equals(prefix)) {
+ ns = declareNamespace(namespaceURI, prefix);
+ } else {
+ ns = declareNamespace(namespaceURI, getNextNamespacePrefix());
+ }
+ }
+ if (ns != null) {
+ this.setNamespace(ns);
+// throw new OMException("Element can not be declared without a namespaceURI. Every Element should be namespace qualified");
+
}
}
- if (ns == null) {
- throw new OMException("Element can not be declared without a namespaceURI. Every Element should be namespace qualified");
- }
- this.setNamespace(ns);
}
/**
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/util/XMLComparator.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/util/XMLComparator.java?rev=193115&r1=193114&r2=193115&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/util/XMLComparator.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis/om/impl/llom/util/XMLComparator.java Thu Jun 23 01:58:54 2005
@@ -34,18 +34,18 @@
public boolean compare(OMElement elementOne, OMElement elementTwo) throws XMLComparisonException {
- if(elementOne == null && elementTwo == null){
+ if (elementOne == null && elementTwo == null) {
log.info("Both Elements are null.");
return true;
}
- if(elementOne == null && elementTwo != null){
+ if (elementOne == null && elementTwo != null) {
throw new XMLComparisonException("Element One is null and Element Two is not null");
}
- if(elementOne != null && elementTwo == null){
+ if (elementOne != null && elementTwo == null) {
throw new XMLComparisonException("Element Two is null and Element One is not null");
}
- log.info("Now Checking "+ elementOne.getLocalName() + " and " + elementTwo.getLocalName() + "=============================");
+ log.info("Now Checking " + elementOne.getLocalName() + " and " + elementTwo.getLocalName() + "=============================");
log.info("Comparing Element Names .......");
compare("Elements names are not equal. ", elementOne.getLocalName(), elementTwo.getLocalName());
@@ -80,13 +80,16 @@
Iterator elementOneChildren = elementOne.getChildren();
while (elementOneChildren.hasNext()) {
OMNode omNode = (OMNode) elementOneChildren.next();
- if(omNode instanceof OMElement){
+ if (omNode instanceof OMElement) {
OMElement elementOneChild = (OMElement) omNode;
+ if("Reference4".equals(elementOneChild.getLocalName())){
+ System.out.println("Reference4");
+ }
OMElement elementTwoChild = elementTwo.getFirstChildWithName(elementOneChild.getQName());
- if(elementTwoChild == null){
+ if (elementTwoChild == null) {
throw new XMLComparisonException(" There is no " + elementOneChild.getLocalName() + " element under " + elementTwo.getLocalName());
}
- compare(elementOneChild, elementTwoChild);
+ compare(elementOneChild, elementTwoChild);
}
}
}
@@ -99,40 +102,40 @@
while (attributes.hasNext()) {
OMAttribute omAttribute = (OMAttribute) attributes.next();
OMAttribute attr = elementTwo.getFirstAttribute(omAttribute.getQName());
- if(attr == null){
- throw new XMLComparisonException("Attributes are not the same in two elements. Attribute "+ omAttribute.getLocalName() + " != ");
+ if (attr == null) {
+ throw new XMLComparisonException("Attributes are not the same in two elements. Attribute " + omAttribute.getLocalName() + " != ");
}
elementOneAtribCount++;
}
Iterator elementTwoIter = elementTwo.getAttributes();
while (elementTwoIter.hasNext()) {
- elementTwoIter.next();
+ elementTwoIter.next();
elementTwoAtribCount++;
}
- if(elementOneAtribCount != elementTwoAtribCount){
- throw new XMLComparisonException("Attributes are not the same in two elements.");
+ if (elementOneAtribCount != elementTwoAtribCount) {
+ throw new XMLComparisonException("Attributes are not the same in two elements.");
}
}
private void compare(String failureNotice, String one, String two) throws XMLComparisonException {
- if(!one.equals(two)){
- throw new XMLComparisonException(failureNotice+ one + " != " + two);
+ if (!one.equals(two)) {
+ throw new XMLComparisonException(failureNotice + one + " != " + two);
}
}
private void compare(String failureNotice, OMNamespace one, OMNamespace two) throws XMLComparisonException {
- if(one == null && two == null){
+ if (one == null && two == null) {
return;
- }else if(one != null && two == null){
+ } else if (one != null && two == null) {
throw new XMLComparisonException("First Namespace is NOT null. But the second is null");
- }else if(one == null && two != null){
+ } else if (one == null && two != null) {
throw new XMLComparisonException("First Namespace is null. But the second is NOT null");
}
- if(!one.getName().equals(two.getName())){
+ if (!one.getName().equals(two.getName())) {
throw new XMLComparisonException(failureNotice + one + " != " + two);
}