You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/01/23 00:11:12 UTC
svn commit: r614370 - in /incubator/tuscany/java/sca:
itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/
modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/
modules/databinding/src/main/j...
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: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org
Re: svn commit: r614370 - in /incubator/tuscany/java/sca: itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/ modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/ modules/databinding/src/main/j
Posted by Raymond Feng <en...@gmail.com>.
Hi,
It seems that this change is breaking the Linux env. It works fine on
Windonws. I'll try to debug.
Thanks,
Raymond
----- Original Message -----
From: <rf...@apache.org>
To: <tu...@ws.apache.org>
Sent: Tuesday, January 22, 2008 3:11 PM
Subject: svn commit: r614370 - in /incubator/tuscany/java/sca:
itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/
modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/
modules/databinding/src/main/j...
> 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: tuscany-commits-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-commits-help@ws.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org