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 ng...@apache.org on 2007/03/13 05:44:52 UTC
svn commit: r517526 - in /webservices/axis2/trunk/java/modules/jaxws:
src/org/apache/axis2/jaxws/client/proxy/ src/org/apache/axis2/jaxws/spi/
test/org/apache/axis2/jaxws/framework/ test/org/apache/axis2/jaxws/spi/
Author: ngallardo
Date: Mon Mar 12 21:44:52 2007
New Revision: 517526
URL: http://svn.apache.org/viewvc?view=rev&rev=517526
Log:
-Changed the JAXWSProxyHandler to allow SPI method invocations.
-Added new test for BindingProvider SPI.
Added:
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/BindingProviderTests.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/Sample.java
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java?view=diff&rev=517526&r1=517525&r2=517526
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java Mon Mar 12 21:44:52 2007
@@ -396,7 +396,9 @@
private boolean isValidMethodCall(Method method){
Class clazz = method.getDeclaringClass();
- if(clazz.isAssignableFrom(javax.xml.ws.BindingProvider.class) || clazz.isAssignableFrom(seiClazz)){
+ if (clazz.isAssignableFrom(seiClazz) ||
+ clazz.isAssignableFrom(org.apache.axis2.jaxws.spi.BindingProvider.class) ||
+ clazz.isAssignableFrom(javax.xml.ws.BindingProvider.class)) {
return true;
}
return false;
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java?view=diff&rev=517526&r1=517525&r2=517526
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java Mon Mar 12 21:44:52 2007
@@ -215,7 +215,7 @@
JAXWSProxyHandler proxyHandler = new JAXWSProxyHandler(this, sei, endpointDesc);
- Class[] seiClazz = new Class[]{sei, BindingProvider.class};
+ Class[] seiClazz = new Class[]{sei, org.apache.axis2.jaxws.spi.BindingProvider.class};
Object proxyClass = Proxy.newProxyInstance(getClassLoader(sei), seiClazz, proxyHandler);
return sei.cast(proxyClass);
}
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java?view=diff&rev=517526&r1=517525&r2=517526
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java Mon Mar 12 21:44:52 2007
@@ -74,6 +74,7 @@
import org.apache.axis2.jaxws.sample.WSGenTests;
import org.apache.axis2.jaxws.sample.WrapTests;
import org.apache.axis2.jaxws.security.BasicAuthSecurityTests;
+import org.apache.axis2.jaxws.spi.BindingProviderTests;
import org.apache.axis2.jaxws.wsdl.schemareader.SchemaReaderTests;
import org.apache.axis2.jaxws.xmlhttp.clientTests.dispatch.datasource.DispatchXMessageDataSource;
import org.apache.axis2.jaxws.xmlhttp.clientTests.dispatch.jaxb.DispatchXPayloadJAXB;
@@ -171,6 +172,9 @@
suite.addTestSuite(DispatchXPayloadJAXB.class);
suite.addTestSuite(DispatchXMessageDataSource.class);
suite.addTestSuite(SchemaReaderTests.class);
+
+ suite.addTestSuite(BindingProviderTests.class);
+
// Start (and stop) the server only once for all the tests
TestSetup testSetup = new TestSetup(suite) {
public void setUp() {
Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/BindingProviderTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/BindingProviderTests.java?view=auto&rev=517526
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/BindingProviderTests.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/BindingProviderTests.java Mon Mar 12 21:44:52 2007
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.jaxws.spi;
+
+import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
+import javax.xml.ws.Dispatch;
+import javax.xml.ws.Service;
+import javax.xml.ws.soap.SOAPBinding;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.jaxws.description.EndpointDescription;
+
+/**
+ * The client APIs should each implement the org.apache.axis2.jaxws.spi.BindingProvider
+ * interface. This suite should be used for any client APIs to verify that they
+ * maintain that behavior.
+ */
+public class BindingProviderTests extends TestCase {
+
+ public QName serviceQName;
+ public QName portQName;
+
+ public BindingProviderTests(String name) {
+ super(name);
+
+ serviceQName = new QName("http://test", "TestService");
+ portQName = new QName("http://test", "TestPort");
+ }
+
+ /**
+ * A test to verify that the Dispatch objects implement the proper interface
+ */
+ public void testDisptachBindingProviderSPI() {
+ Service svc = Service.create(serviceQName);
+ svc.addPort(portQName, SOAPBinding.SOAP11HTTP_BINDING, "");
+
+ Dispatch dsp = svc.createDispatch(portQName, Source.class, Service.Mode.MESSAGE);
+
+ // Make sure we can cast the object to the right interfaces
+ assertTrue("The Dispatch object should also be a javax.xml.ws.BindingProvider",
+ (dsp instanceof javax.xml.ws.BindingProvider));
+ assertTrue("The Dispatch object should also be a org.apache.axis2.jaxws.spi.BindingProvider",
+ dsp instanceof org.apache.axis2.jaxws.spi.BindingProvider);
+
+ org.apache.axis2.jaxws.spi.BindingProvider bp = (org.apache.axis2.jaxws.spi.BindingProvider) dsp;
+
+ ServiceDelegate sd = bp.getServiceDelegate();
+ assertTrue("The ServiceDescription was null", sd != null);
+
+ EndpointDescription ed = bp.getEndpointDescription();
+ assertTrue("The EndpointDescription was null", ed != null);
+ }
+
+ /**
+ * A test to verify that the proxy objects implement the proper interface.
+ */
+ public void testProxyBindingProviderSPI() {
+ Service svc = Service.create(serviceQName);
+ Sample s = svc.getPort(Sample.class);
+
+ // Make sure we can cast the object to the right interfaces
+ assertTrue("The Proxy object should also be a javax.xml.ws.BindingProvider",
+ s instanceof javax.xml.ws.BindingProvider);
+ assertTrue("The Proxy object should also be a org.apache.axis2.jaxws.spi.BindingProvider",
+ s instanceof org.apache.axis2.jaxws.spi.BindingProvider);
+
+ org.apache.axis2.jaxws.spi.BindingProvider bp = (org.apache.axis2.jaxws.spi.BindingProvider) s;
+
+ ServiceDelegate sd = bp.getServiceDelegate();
+ assertTrue("The ServiceDescription was null", sd != null);
+
+ EndpointDescription ed = bp.getEndpointDescription();
+ assertTrue("The EndpointDescription was null", ed != null);
+ }
+}
Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/Sample.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/Sample.java?view=auto&rev=517526
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/Sample.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/spi/Sample.java Mon Mar 12 21:44:52 2007
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.jaxws.spi;
+
+import javax.jws.WebService;
+
+@WebService(targetNamespace="http://test",
+ serviceName="TestService",
+ portName="TestPort")
+public interface Sample {
+
+ public String echoString(String input);
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org