You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2014/06/17 09:54:20 UTC
svn commit: r1603082 - in /webservices/axiom/trunk:
axiom-spring-ws-testsuite/
axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/
axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/
axiom-spring-ws-testsuite/s...
Author: veithen
Date: Tue Jun 17 07:54:20 2014
New Revision: 1603082
URL: http://svn.apache.org/r1603082
Log:
Add tests for the SoapMessageFactory#createWebServiceMessage methods.
Added:
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapter.java
- copied, changed from r1603081, webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapterFactory.java
- copied, changed from r1603081, webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SimpleTestCase.java (with props)
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestCase.java (with props)
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessage.java (with props)
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessageFromInputStream.java (with props)
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/services/
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/services/org.apache.axiom.ts.soap.AdapterFactory
Modified:
webservices/axiom/trunk/axiom-spring-ws-testsuite/pom.xml
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/ScenarioTestCase.java
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestSuiteBuilder.java
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jdom/ClientServerTest.java
webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/wsadom/WSAddressingDOMTest.java
webservices/axiom/trunk/axiom-spring-ws/src/main/java/org/apache/axiom/spring/ws/soap/AxiomSoapMessageFactory.java
Modified: webservices/axiom/trunk/axiom-spring-ws-testsuite/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/pom.xml?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/pom.xml (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/pom.xml Tue Jun 17 07:54:20 2014
@@ -37,6 +37,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>soap-testsuite</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jcl</artifactId>
<version>1.6.6</version>
Copied: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapter.java (from r1603081, webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapter.java?p2=webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapter.java&p1=webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java&r1=1603081&r2=1603082&rev=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapter.java Tue Jun 17 07:54:20 2014
@@ -16,21 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.springws.jaxb2;
+package org.apache.axiom.ts.springws;
-import org.apache.axiom.ts.springws.ScenarioConfig;
-import org.apache.axiom.ts.springws.ScenarioTestCase;
-import org.springframework.ws.client.core.WebServiceTemplate;
+public final class SOAPSpecAdapter {
+ private final String soapVersion;
-public class JAXB2Test extends ScenarioTestCase {
- public JAXB2Test(ScenarioConfig config, String soapVersion) {
- super(config, soapVersion);
+ SOAPSpecAdapter(String soapVersion) {
+ this.soapVersion = soapVersion;
}
-
- @Override
- protected void runTest() throws Throwable {
- GetQuoteRequest request = new GetQuoteRequest();
- request.setSymbol("GOOG");
- context.getBean(WebServiceTemplate.class).marshalSendAndReceive(request);
+
+ public String getSoapVersion() {
+ return soapVersion;
}
}
Copied: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapterFactory.java (from r1603081, webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapterFactory.java?p2=webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapterFactory.java&p1=webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java&r1=1603081&r2=1603082&rev=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SOAPSpecAdapterFactory.java Tue Jun 17 07:54:20 2014
@@ -16,21 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.springws.jaxb2;
+package org.apache.axiom.ts.springws;
-import org.apache.axiom.ts.springws.ScenarioConfig;
-import org.apache.axiom.ts.springws.ScenarioTestCase;
-import org.springframework.ws.client.core.WebServiceTemplate;
+import org.apache.axiom.ts.soap.AdapterFactory;
+import org.apache.axiom.ts.soap.Adapters;
+import org.apache.axiom.ts.soap.SOAPSpec;
-public class JAXB2Test extends ScenarioTestCase {
- public JAXB2Test(ScenarioConfig config, String soapVersion) {
- super(config, soapVersion);
- }
-
- @Override
- protected void runTest() throws Throwable {
- GetQuoteRequest request = new GetQuoteRequest();
- request.setSymbol("GOOG");
- context.getBean(WebServiceTemplate.class).marshalSendAndReceive(request);
+public class SOAPSpecAdapterFactory implements AdapterFactory<SOAPSpec> {
+ public void createAdapters(SOAPSpec spec, Adapters adapters) {
+ adapters.add(SOAPSpecAdapter.class, new SOAPSpecAdapter(spec == SOAPSpec.SOAP11 ? "SOAP_11" : "SOAP_12"));
}
}
Modified: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/ScenarioTestCase.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/ScenarioTestCase.java?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/ScenarioTestCase.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/ScenarioTestCase.java Tue Jun 17 07:54:20 2014
@@ -18,7 +18,7 @@
*/
package org.apache.axiom.ts.springws;
-import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.apache.axiom.ts.soap.SOAPSpec;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
@@ -36,16 +36,16 @@ import org.springframework.mock.env.Mock
import org.springframework.web.context.support.GenericWebApplicationContext;
import org.springframework.ws.transport.http.MessageDispatcherServlet;
-public abstract class ScenarioTestCase extends MatrixTestCase {
+public abstract class ScenarioTestCase extends SpringWSTestCase {
private final ScenarioConfig config;
private Server server;
protected GenericXmlApplicationContext context;
- public ScenarioTestCase(ScenarioConfig config, String soapVersion) {
+ public ScenarioTestCase(ScenarioConfig config, SOAPSpec spec) {
+ super(spec);
this.config = config;
addTestParameter("client", config.getClientMessageFactoryConfigurator().getName());
addTestParameter("server", config.getServerMessageFactoryConfigurator().getName());
- addTestParameter("soapVersion", soapVersion);
}
@Override
@@ -65,7 +65,8 @@ public abstract class ScenarioTestCase e
servlet.setContextClass(GenericWebApplicationContext.class);
servlet.setContextInitializers(new ApplicationContextInitializer<ConfigurableApplicationContext>() {
public void initialize(ConfigurableApplicationContext applicationContext) {
- configureContext((GenericWebApplicationContext)applicationContext, config.getServerMessageFactoryConfigurator(), "server.xml");
+ configureContext((GenericWebApplicationContext)applicationContext, config.getServerMessageFactoryConfigurator(),
+ new ClassPathResource("server.xml", ScenarioTestCase.this.getClass()));
}
});
ServletHolder servletHolder = new ServletHolder(servlet);
@@ -78,19 +79,11 @@ public abstract class ScenarioTestCase e
MockPropertySource propertySource = new MockPropertySource("client-properties");
propertySource.setProperty("port", connector.getLocalPort());
context.getEnvironment().getPropertySources().replace(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, propertySource);
- configureContext(context, config.getClientMessageFactoryConfigurator(), "client.xml");
+ configureContext(context, config.getClientMessageFactoryConfigurator(), new ClassPathResource("client.xml", getClass()));
+
context.refresh();
}
- void configureContext(GenericApplicationContext context, MessageFactoryConfigurator messageFactoryConfigurator, String relativeConfigLocation) {
- context.getEnvironment().getPropertySources().addFirst(new MatrixTestCasePropertySource(this));
- messageFactoryConfigurator.configure(context);
- XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
- reader.loadBeanDefinitions(
- new ClassPathResource("common.xml", ScenarioTestCase.class),
- new ClassPathResource(relativeConfigLocation, getClass()));
- }
-
@Override
protected void tearDown() throws Exception {
context.close();
Added: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SimpleTestCase.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SimpleTestCase.java?rev=1603082&view=auto
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SimpleTestCase.java (added)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SimpleTestCase.java Tue Jun 17 07:54:20 2014
@@ -0,0 +1,46 @@
+/*
+ * 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.axiom.ts.springws;
+
+import org.apache.axiom.ts.soap.SOAPSpec;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.ws.soap.SoapMessageFactory;
+
+public abstract class SimpleTestCase extends SpringWSTestCase {
+ private final MessageFactoryConfigurator mfc;
+
+ public SimpleTestCase(MessageFactoryConfigurator mfc, SOAPSpec spec) {
+ super(spec);
+ this.mfc = mfc;
+ }
+
+ @Override
+ protected final void runTest() throws Throwable {
+ GenericApplicationContext context = new GenericApplicationContext();
+ configureContext(context, mfc, null);
+ context.refresh();
+ try {
+ runTest((SoapMessageFactory)context.getBean("messageFactory"));
+ } finally {
+ context.close();
+ }
+ }
+
+ protected abstract void runTest(SoapMessageFactory messageFactory) throws Throwable;
+}
Propchange: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SimpleTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestCase.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestCase.java?rev=1603082&view=auto
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestCase.java (added)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestCase.java Tue Jun 17 07:54:20 2014
@@ -0,0 +1,45 @@
+/*
+ * 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.axiom.ts.springws;
+
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.apache.axiom.ts.soap.SOAPSpec;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
+
+public abstract class SpringWSTestCase extends MatrixTestCase {
+ protected final SOAPSpec spec;
+
+ public SpringWSTestCase(SOAPSpec spec) {
+ this.spec = spec;
+ addTestParameter("soapVersion", spec.getAdapter(SOAPSpecAdapter.class).getSoapVersion());
+ }
+
+ void configureContext(GenericApplicationContext context, MessageFactoryConfigurator messageFactoryConfigurator, Resource configResource) {
+ context.getEnvironment().getPropertySources().addFirst(new MatrixTestCasePropertySource(this));
+ messageFactoryConfigurator.configure(context);
+ XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
+ reader.loadBeanDefinitions(new ClassPathResource("common.xml", ScenarioTestCase.class));
+ if (configResource != null) {
+ reader.loadBeanDefinitions(configResource);
+ }
+ }
+}
Propchange: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestSuiteBuilder.java?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestSuiteBuilder.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/SpringWSTestSuiteBuilder.java Tue Jun 17 07:54:20 2014
@@ -19,8 +19,11 @@
package org.apache.axiom.ts.springws;
import org.apache.axiom.testutils.suite.MatrixTestSuiteBuilder;
+import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.springws.jaxb2.JAXB2Test;
import org.apache.axiom.ts.springws.jdom.ClientServerTest;
+import org.apache.axiom.ts.springws.soap.messagefactory.TestCreateWebServiceMessage;
+import org.apache.axiom.ts.springws.soap.messagefactory.TestCreateWebServiceMessageFromInputStream;
import org.apache.axiom.ts.springws.wsadom.WSAddressingDOMTest;
public class SpringWSTestSuiteBuilder extends MatrixTestSuiteBuilder {
@@ -35,17 +38,24 @@ public class SpringWSTestSuiteBuilder ex
@Override
protected void addTests() {
- addTests(new ScenarioConfig(altMessageFactoryConfigurator, messageFactoryConfigurator), "SOAP_11");
- addTests(new ScenarioConfig(altMessageFactoryConfigurator, messageFactoryConfigurator), "SOAP_12");
+ addSimpleTests(messageFactoryConfigurator, SOAPSpec.SOAP11);
+ addSimpleTests(messageFactoryConfigurator, SOAPSpec.SOAP12);
+ addScenarioTests(new ScenarioConfig(altMessageFactoryConfigurator, messageFactoryConfigurator), SOAPSpec.SOAP11);
+ addScenarioTests(new ScenarioConfig(altMessageFactoryConfigurator, messageFactoryConfigurator), SOAPSpec.SOAP12);
if (altMessageFactoryConfigurator != messageFactoryConfigurator) {
- addTests(new ScenarioConfig(messageFactoryConfigurator, altMessageFactoryConfigurator), "SOAP_11");
- addTests(new ScenarioConfig(messageFactoryConfigurator, altMessageFactoryConfigurator), "SOAP_12");
+ addScenarioTests(new ScenarioConfig(messageFactoryConfigurator, altMessageFactoryConfigurator), SOAPSpec.SOAP11);
+ addScenarioTests(new ScenarioConfig(messageFactoryConfigurator, altMessageFactoryConfigurator), SOAPSpec.SOAP12);
}
}
- private void addTests(ScenarioConfig config, String soapVersion) {
- addTest(new ClientServerTest(config, soapVersion));
- addTest(new WSAddressingDOMTest(config, soapVersion));
- addTest(new JAXB2Test(config, soapVersion));
+ private void addSimpleTests(MessageFactoryConfigurator mfc, SOAPSpec spec) {
+ addTest(new TestCreateWebServiceMessage(mfc, spec));
+ addTest(new TestCreateWebServiceMessageFromInputStream(mfc, spec));
+ }
+
+ private void addScenarioTests(ScenarioConfig config, SOAPSpec spec) {
+ addTest(new ClientServerTest(config, spec));
+ addTest(new WSAddressingDOMTest(config, spec));
+ addTest(new JAXB2Test(config, spec));
}
}
Modified: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jaxb2/JAXB2Test.java Tue Jun 17 07:54:20 2014
@@ -18,13 +18,14 @@
*/
package org.apache.axiom.ts.springws.jaxb2;
+import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.springws.ScenarioConfig;
import org.apache.axiom.ts.springws.ScenarioTestCase;
import org.springframework.ws.client.core.WebServiceTemplate;
public class JAXB2Test extends ScenarioTestCase {
- public JAXB2Test(ScenarioConfig config, String soapVersion) {
- super(config, soapVersion);
+ public JAXB2Test(ScenarioConfig config, SOAPSpec spec) {
+ super(config, spec);
}
@Override
Modified: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jdom/ClientServerTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jdom/ClientServerTest.java?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jdom/ClientServerTest.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/jdom/ClientServerTest.java Tue Jun 17 07:54:20 2014
@@ -18,6 +18,7 @@
*/
package org.apache.axiom.ts.springws.jdom;
+import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.springws.ScenarioConfig;
import org.apache.axiom.ts.springws.ScenarioTestCase;
import org.jdom2.input.SAXBuilder;
@@ -26,8 +27,8 @@ import org.jdom2.transform.JDOMSource;
import org.springframework.ws.client.core.WebServiceTemplate;
public class ClientServerTest extends ScenarioTestCase {
- public ClientServerTest(ScenarioConfig config, String soapVersion) {
- super(config, soapVersion);
+ public ClientServerTest(ScenarioConfig config, SOAPSpec spec) {
+ super(config, spec);
}
@Override
Added: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessage.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessage.java?rev=1603082&view=auto
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessage.java (added)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessage.java Tue Jun 17 07:54:20 2014
@@ -0,0 +1,55 @@
+/*
+ * 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.axiom.ts.springws.soap.messagefactory;
+
+import org.apache.axiom.ts.soap.SOAPSpec;
+import org.apache.axiom.ts.springws.MessageFactoryConfigurator;
+import org.apache.axiom.ts.springws.SimpleTestCase;
+import org.springframework.ws.soap.SoapBody;
+import org.springframework.ws.soap.SoapEnvelope;
+import org.springframework.ws.soap.SoapHeader;
+import org.springframework.ws.soap.SoapMessage;
+import org.springframework.ws.soap.SoapMessageFactory;
+
+/**
+ * Tests the characteristics of the {@link SoapMessage} returned by
+ * {@link SoapMessageFactory#createWebServiceMessage()}.
+ */
+public class TestCreateWebServiceMessage extends SimpleTestCase {
+ public TestCreateWebServiceMessage(MessageFactoryConfigurator mfc, SOAPSpec spec) {
+ super(mfc, spec);
+ }
+
+ @Override
+ protected void runTest(SoapMessageFactory messageFactory) {
+ SoapMessage message = messageFactory.createWebServiceMessage();
+
+ SoapEnvelope env = message.getEnvelope();
+ assertNotNull(env);
+ assertEquals(spec.getEnvelopeQName(), env.getName());
+
+ SoapHeader header = env.getHeader();
+ assertNotNull(header);
+ assertEquals(spec.getHeaderQName(), header.getName());
+
+ SoapBody body = env.getBody();
+ assertNotNull(body);
+ assertEquals(spec.getHeaderQName(), header.getName());
+ }
+}
Propchange: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessage.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessageFromInputStream.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessageFromInputStream.java?rev=1603082&view=auto
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessageFromInputStream.java (added)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessageFromInputStream.java Tue Jun 17 07:54:20 2014
@@ -0,0 +1,47 @@
+/*
+ * 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.axiom.ts.springws.soap.messagefactory;
+
+import java.io.InputStream;
+
+import org.apache.axiom.ts.soap.SOAPSpec;
+import org.apache.axiom.ts.soap.TestMessageSet;
+import org.apache.axiom.ts.springws.MessageFactoryConfigurator;
+import org.apache.axiom.ts.springws.SimpleTestCase;
+import org.springframework.ws.soap.SoapEnvelope;
+import org.springframework.ws.soap.SoapMessage;
+import org.springframework.ws.soap.SoapMessageFactory;
+
+/**
+ * Tests the characteristics of the {@link SoapMessage} returned by
+ * {@link SoapMessageFactory#createWebServiceMessage(InputStream)}.
+ */
+public class TestCreateWebServiceMessageFromInputStream extends SimpleTestCase {
+ public TestCreateWebServiceMessageFromInputStream(MessageFactoryConfigurator mfc, SOAPSpec spec) {
+ super(mfc, spec);
+ }
+
+ @Override
+ protected void runTest(SoapMessageFactory messageFactory) throws Throwable {
+ SoapMessage message = messageFactory.createWebServiceMessage(TestMessageSet.NO_HEADER.getMessage(spec).getInputStream());
+ SoapEnvelope env = message.getEnvelope();
+ assertNull(env.getHeader());
+ assertNotNull(env.getBody());
+ }
+}
Propchange: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/soap/messagefactory/TestCreateWebServiceMessageFromInputStream.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/wsadom/WSAddressingDOMTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/wsadom/WSAddressingDOMTest.java?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/wsadom/WSAddressingDOMTest.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/java/org/apache/axiom/ts/springws/wsadom/WSAddressingDOMTest.java Tue Jun 17 07:54:20 2014
@@ -23,6 +23,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
+import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.springws.ScenarioConfig;
import org.apache.axiom.ts.springws.ScenarioTestCase;
import org.springframework.ws.client.core.WebServiceTemplate;
@@ -31,8 +32,8 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class WSAddressingDOMTest extends ScenarioTestCase {
- public WSAddressingDOMTest(ScenarioConfig config, String soapVersion) {
- super(config, soapVersion);
+ public WSAddressingDOMTest(ScenarioConfig config, SOAPSpec spec) {
+ super(config, spec);
}
@Override
Added: webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/services/org.apache.axiom.ts.soap.AdapterFactory
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/services/org.apache.axiom.ts.soap.AdapterFactory?rev=1603082&view=auto
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/services/org.apache.axiom.ts.soap.AdapterFactory (added)
+++ webservices/axiom/trunk/axiom-spring-ws-testsuite/src/main/resources/META-INF/services/org.apache.axiom.ts.soap.AdapterFactory Tue Jun 17 07:54:20 2014
@@ -0,0 +1 @@
+org.apache.axiom.ts.springws.SOAPSpecAdapterFactory
\ No newline at end of file
Modified: webservices/axiom/trunk/axiom-spring-ws/src/main/java/org/apache/axiom/spring/ws/soap/AxiomSoapMessageFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-spring-ws/src/main/java/org/apache/axiom/spring/ws/soap/AxiomSoapMessageFactory.java?rev=1603082&r1=1603081&r2=1603082&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-spring-ws/src/main/java/org/apache/axiom/spring/ws/soap/AxiomSoapMessageFactory.java (original)
+++ webservices/axiom/trunk/axiom-spring-ws/src/main/java/org/apache/axiom/spring/ws/soap/AxiomSoapMessageFactory.java Tue Jun 17 07:54:20 2014
@@ -79,19 +79,25 @@ public final class AxiomSoapMessageFacto
}
public SoapMessage createWebServiceMessage(InputStream inputStream) throws IOException {
- TransportInputStream transportInputStream = (TransportInputStream)inputStream;
- Iterator<String> it = transportInputStream.getHeaders(TransportConstants.HEADER_CONTENT_TYPE);
- ContentType contentType;
- if (it.hasNext()) {
- try {
- contentType = new ContentType(it.next());
- } catch (ParseException ex) {
- throw new SoapMessageCreationException("Failed to parse Content-Type header", ex);
+ String charset;
+ if (inputStream instanceof TransportInputStream) {
+ TransportInputStream transportInputStream = (TransportInputStream)inputStream;
+ Iterator<String> it = transportInputStream.getHeaders(TransportConstants.HEADER_CONTENT_TYPE);
+ ContentType contentType;
+ if (it.hasNext()) {
+ try {
+ contentType = new ContentType(it.next());
+ } catch (ParseException ex) {
+ throw new SoapMessageCreationException("Failed to parse Content-Type header", ex);
+ }
+ } else {
+ throw new SoapMessageCreationException("No Content-Type header found");
}
+ charset = contentType.getParameter("charset");
} else {
- throw new SoapMessageCreationException("No Content-Type header found");
+ charset = null;
}
- SOAPModelBuilder builder = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, inputStream, contentType.getParameter("charset"));
+ SOAPModelBuilder builder = OMXMLBuilderFactory.createSOAPModelBuilder(metaFactory, inputStream, charset);
// TODO: should SOAPModelBuilder have a getSOAPMessage() method?
// TODO: need to check that the SOAP version matches the content type
return new SoapMessageImpl((SOAPMessage)builder.getDocument());