Author: rfeng
Date: Tue Jan 22 15:11:09 2008
New Revision: 614370
URL: http://svn.apache.org/viewvc?rev=614370&view=rev
Log:
Fix an issue in Axis2 service lookup and bring up the
exception-ws-crossbinding itest again
Added:
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java
- copied, changed from r614120,
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java
Removed:
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java
Modified:
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
Copied:
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java
(from r614120,
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java?p2=incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java&p1=incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java&r1=614120&r2=614370&rev=614370&view=diff
==============================================================================
---
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java
(original)
+++
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java
Tue Jan 22 15:11:09 2008
@@ -28,7 +28,7 @@
import stockexceptiontestservice.scatesttool.InvalidSymbolFault;
import stockexceptiontestservice.scatesttool.StockOffer;
-public class IntraCompositeTestCaseFIXME extends TestCase {
+public class IntraCompositeTestCase extends TestCase {
private SCADomain domain;
private StockTraderSDO stockTrader;
Modified:
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java?rev=614370&r1=614369&r2=614370&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
Tue Jan 22 15:11:09 2008
@@ -26,7 +26,6 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
-import java.security.Principal;
import java.security.PrivilegedAction;
import java.util.Iterator;
import java.util.List;
@@ -35,8 +34,8 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.security.auth.Subject;
import javax.wsdl.Definition;
+import javax.wsdl.Import;
import javax.wsdl.Port;
import javax.wsdl.extensions.soap.SOAPAddress;
import javax.wsdl.extensions.soap12.SOAP12Address;
@@ -436,6 +435,32 @@
return axisService;
}
+
+ /**
+ * Workaround for https://issues.apache.org/jira/browse/AXIS2-3205
+ * @param definition
+ * @param serviceName
+ * @return
+ */
+ private static Definition getDefinition(Definition definition, QName
serviceName) {
+ if (definition == null) {
+ return null;
+ }
+ Object service = definition.getServices().get(serviceName);
+ if (service != null) {
+ return definition;
+ }
+ for (Object i : definition.getImports().values()) {
+ List<Import> imports = (List<Import>)i;
+ for (Import imp : imports) {
+ Definition d = getDefinition(imp.getDefinition(),
serviceName);
+ if (d != null) {
+ return d;
+ }
+ }
+ }
+ return definition;
+ }
/**
* Create an AxisService from the WSDL doc used by ws binding
@@ -450,12 +475,14 @@
Axis2ServiceClient.setServiceAndPort(wsBinding);
QName serviceQName = wsBinding.getServiceName();
String portName = wsBinding.getPortName();
+
+ Definition def = getDefinition(definition, serviceQName);
- WSDLToAxisServiceBuilder builder = new
WSDL11ToAxisServiceBuilder(definition, serviceQName, portName);
+ WSDLToAxisServiceBuilder builder = new
WSDL11ToAxisServiceBuilder(def, serviceQName, portName);
builder.setServerSide(true);
// [rfeng] Add a custom resolver to work around WSCOMMONS-228
- builder.setCustomResolver(new URIResolverImpl(definition));
- builder.setBaseUri(definition.getDocumentBaseURI());
+ builder.setCustomResolver(new URIResolverImpl(def));
+ builder.setBaseUri(def.getDocumentBaseURI());
// [rfeng]
AxisService axisService = builder.populateService();
@@ -476,7 +503,7 @@
}
// Use the existing WSDL
Parameter wsdlParam = new
Parameter(WSDLConstants.WSDL_4_J_DEFINITION, null);
- wsdlParam.setValue(definition);
+ wsdlParam.setValue(def);
axisService.addParameter(wsdlParam);
Parameter userWSDL = new Parameter("useOriginalwsdl", "true");
axisService.addParameter(userWSDL);
Modified:
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java?rev=614370&r1=614369&r2=614370&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
(original)
+++
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
Tue Jan 22 15:11:09 2008
@@ -63,18 +63,17 @@
}
public void addDataBinding(DataBinding dataBinding) {
- if (logger.isLoggable(Level.FINE)) {
- String className = dataBinding.getClass().getName();
- boolean lazy = false;
- if (dataBinding instanceof LazyDataBinding) {
- className = ((LazyDataBinding)
dataBinding).dataBindingDeclaration.getClassName();
- lazy = true;
- }
- logger.fine("Adding databinding: " + className + ";type="
- + dataBinding.getName() + ",lazy=" + lazy);
- }
+ if (logger.isLoggable(Level.FINE)) {
+ String className = dataBinding.getClass().getName();
+ boolean lazy = false;
+ if (dataBinding instanceof LazyDataBinding) {
+ className =
((LazyDataBinding)dataBinding).dataBindingDeclaration.getClassName();
+ lazy = true;
+ }
+ logger.fine("Adding databinding: " + className + ";type=" +
dataBinding.getName() + ",lazy=" + lazy);
+ }
databindings.add(dataBinding);
- bindings.put(dataBinding.getName().toLowerCase(), dataBinding);
+ bindings.put(dataBinding.getName().toLowerCase(), dataBinding);
String[] aliases = dataBinding.getAliases();
if (aliases != null) {
@@ -111,8 +110,7 @@
// Get the databinding service declarations
Set<ServiceDeclaration> dataBindingDeclarations;
try {
- dataBindingDeclarations =
-
ServiceDiscovery.getInstance().getServiceDeclarations(DataBinding.class);
+ dataBindingDeclarations =
ServiceDiscovery.getInstance().getServiceDeclarations(DataBinding.class);
} catch (IOException e) {
throw new IllegalStateException(e);
}
@@ -159,8 +157,7 @@
private DataBinding getDataBinding() {
if (dataBinding == null) {
try {
- Class<DataBinding> dataBindingClass =
-
(Class<DataBinding>)dataBindingDeclaration.loadClass();
+ Class<DataBinding> dataBindingClass =
(Class<DataBinding>)dataBindingDeclaration.loadClass();
Constructor<DataBinding> constructor =
dataBindingClass.getConstructor();
dataBinding = constructor.newInstance();
} catch (Exception e) {
Modified:
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java?rev=614370&r1=614369&r2=614370&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
(original)
+++
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
Tue Jan 22 15:11:09 2008
@@ -138,7 +138,7 @@
qname = prefix + ":" + qname;
}
Element newElement =
element.getOwnerDocument().createElementNS(newName.getNamespaceURI(),
qname);
- newElement.setPrefix(prefix);
+ // newElement.setPrefix(prefix);
NodeList nodeList = element.getChildNodes();
// Need to copy the nodes from the list fisrt as the
appendChild() will change the list
int length = nodeList.getLength();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]