You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by mm...@apache.org on 2007/12/06 11:53:23 UTC
svn commit: r601693 - in /incubator/cxf/trunk:
api/src/main/java/org/apache/cxf/ws/addressing/
rt/core/src/main/java/org/apache/cxf/wsdl11/
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/
rt/frontend/simple/src/main/java/org/apache/cxf/se...
Author: mmao
Date: Thu Dec 6 02:53:21 2007
New Revision: 601693
URL: http://svn.apache.org/viewvc?rev=601693&view=rev
Log:
CXF-1190
* Java2Ws support generate the WS-A wsdl extensions
Added:
incubator/cxf/trunk/rt/ws/addr/src/main/resources/META-INF/extensions.xml
incubator/cxf/trunk/rt/ws/addr/src/main/resources/catalog.cat
incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xjb
incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xsd
Modified:
incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addressing/JAXWSAConstants.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
incubator/cxf/trunk/rt/ws/addr/pom.xml
incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/JavaToWSContainer.java
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addressing/JAXWSAConstants.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addressing/JAXWSAConstants.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addressing/JAXWSAConstants.java (original)
+++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addressing/JAXWSAConstants.java Thu Dec 6 02:53:21 2007
@@ -27,9 +27,12 @@
* A container for WS-Addressing constants.
*/
public final class JAXWSAConstants {
+
+ public static final String WSAW = "http://www.w3.org/2006/05/addressing/wsdl";
- public static final QName WSAW_ACTION_QNAME = new QName("http://www.w3.org/2006/05/addressing/wsdl",
- "Action");
+ public static final QName WSAW_ACTION_QNAME = new QName(WSAW, "Action");
+
+ public static final QName WSAW_USINGADDRESSING_QNAME = new QName(WSAW, "UsingAddressing");
/**
* Well-known Property names for AddressingProperties in BindingProvider
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/ServiceWSDLBuilder.java Thu Dec 6 02:53:21 2007
@@ -45,6 +45,7 @@
import javax.wsdl.Service;
import javax.wsdl.Types;
import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.AttributeExtensible;
import javax.wsdl.extensions.ElementExtensible;
import javax.wsdl.extensions.ExtensibilityElement;
import javax.xml.namespace.QName;
@@ -229,6 +230,17 @@
}
}
+ private void addExtensibilityAttributes(AttributeExtensible attributeExtensible,
+ Map<QName, Object> attributes) {
+ if (attributes == null) {
+ return;
+ }
+ for (QName qname : attributes.keySet()) {
+ addNamespace(qname.getNamespaceURI());
+ attributeExtensible.setExtensionAttribute(qname, attributes.get(qname));
+ }
+ }
+
/**
* For a schema, require all namespace with prefixes to be imported. In theory,
* if a namespace has a prefix but is not used, the import is not needed, and could
@@ -437,6 +449,21 @@
ns2prefix.put(namespaceURI, prefix);
def.addNamespace(prefix, namespaceURI);
}
+
+ private OperationInfo getOperationInfo(OperationInfo operation) {
+ if (operation.getUnwrappedOperation() != null) {
+ return operation.getUnwrappedOperation();
+ }
+ return operation;
+ }
+
+ private Map<QName, Object> getInputExtensionAttributes(OperationInfo operation) {
+ return getOperationInfo(operation).getInput().getExtensionAttributes();
+ }
+
+ private Map<QName, Object> getOutputExtensionAttributes(OperationInfo operation) {
+ return getOperationInfo(operation).getOutput().getExtensionAttributes();
+ }
protected void buildPortTypeOperation(PortType portType,
Collection<OperationInfo> operationInfos,
@@ -462,6 +489,7 @@
input.setName(operationInfo.getInputName());
Message message = def.createMessage();
buildMessage(message, operationInfo.getInput(), def);
+ this.addExtensibilityAttributes(input, getInputExtensionAttributes(operationInfo));
input.setMessage(message);
operation.setInput(input);
@@ -470,6 +498,7 @@
output.setName(operationInfo.getOutputName());
message = def.createMessage();
buildMessage(message, operationInfo.getOutput(), def);
+ this.addExtensibilityAttributes(output, getOutputExtensionAttributes(operationInfo));
output.setMessage(message);
operation.setOutput(output);
}
@@ -481,6 +510,7 @@
fault.setName(faultInfo.getFaultName().getLocalPart());
message = def.createMessage();
buildMessage(message, faultInfo, def);
+ this.addExtensibilityAttributes(fault, faultInfo.getExtensionAttributes());
fault.setMessage(message);
operation.addFault(fault);
}
@@ -516,6 +546,7 @@
protected void buildMessage(Message message,
AbstractMessageContainer messageContainer,
final Definition def) {
+
message.setQName(messageContainer.getName());
message.setUndefined(false);
def.addMessage(message);
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java Thu Dec 6 02:53:21 2007
@@ -21,8 +21,11 @@
import java.util.List;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensionRegistry;
import javax.xml.ws.Binding;
import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.soap.Addressing;
import javax.xml.ws.soap.AddressingFeature;
import javax.xml.ws.soap.MTOMFeature;
import javax.xml.ws.soap.SOAPBinding;
@@ -54,8 +57,11 @@
import org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor;
import org.apache.cxf.phase.Phase;
import org.apache.cxf.service.Service;
+import org.apache.cxf.service.model.BindingInfo;
import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.ws.addressing.JAXWSAConstants;
import org.apache.cxf.ws.addressing.WSAddressingFeature;
+import org.apache.cxf.wsdl.WSDLManager;
/**
* A JAX-WS specific implementation of the CXF {@link org.apache.cxf.endpoint.Endpoint} interface.
@@ -73,11 +79,11 @@
private List<AbstractFeature> features;
public JaxWsEndpointImpl(Bus bus, Service s, EndpointInfo ei) throws EndpointException {
- this(bus, s, ei, null, null, null);
+ this(bus, s, ei, null, null, null, true);
}
public JaxWsEndpointImpl(Bus bus, Service s, EndpointInfo ei, JaxWsImplementorInfo implementorInfo,
- List<WebServiceFeature> wf, List<AbstractFeature> af)
+ List<WebServiceFeature> wf, List<AbstractFeature> af, boolean isFromWsdl)
throws EndpointException {
super(bus, s, ei);
this.implInfo = implementorInfo;
@@ -136,8 +142,39 @@
if (getBinding() instanceof SoapBinding) {
inFault.add(new SOAPHandlerFaultInInterceptor(jaxwsBinding));
}
+
+ if (!isFromWsdl) {
+ buildWsdlExtensibilities(ei.getBinding());
+ }
}
+ private void buildWsdlExtensibilities(BindingInfo bindingInfo) {
+ Addressing addressing = getAddressing();
+ if (addressing != null) {
+ ExtensionRegistry extensionRegistry = getBus().getExtension(WSDLManager.class)
+ .getExtenstionRegistry();
+ try {
+ bindingInfo.addExtensor(extensionRegistry.createExtension(javax.wsdl.Binding.class,
+ JAXWSAConstants.
+ WSAW_USINGADDRESSING_QNAME));
+ } catch (WSDLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+
+ private Addressing getAddressing() {
+ Class<?> serviceClass = implInfo.getSEIClass();
+ if (serviceClass == null) {
+ serviceClass = implInfo.getImplementorClass();
+ }
+ if (serviceClass == null) {
+ return null;
+ }
+ return serviceClass.getAnnotation(Addressing.class);
+ }
+
public Binding getJaxwsBinding() {
return jaxwsBinding;
}
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Thu Dec 6 02:53:21 2007
@@ -141,8 +141,9 @@
}
@Override
- public Endpoint createEndpoint(EndpointInfo ei) throws EndpointException {
- return new JaxWsEndpointImpl(getBus(), getService(), ei, implInfo, wsFeatures, this.getFeatures());
+ public Endpoint createEndpoint(EndpointInfo ei) throws EndpointException {
+ return new JaxWsEndpointImpl(getBus(), getService(), ei, implInfo, wsFeatures,
+ this.getFeatures(), this.isFromWsdl());
}
@Override
Modified: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Thu Dec 6 02:53:21 2007
@@ -355,11 +355,14 @@
}
}
-
+ protected boolean isFromWsdl() {
+ return !populateFromClass && getWsdlURL() != null;
+ }
+
protected void initializeServiceModel() {
String wsdlurl = getWsdlURL();
- if (!populateFromClass && wsdlurl != null) {
+ if (isFromWsdl()) {
buildServiceFromWSDL(wsdlurl);
} else {
buildServiceFromClass();
Modified: incubator/cxf/trunk/rt/ws/addr/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/pom.xml?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/pom.xml (original)
+++ incubator/cxf/trunk/rt/ws/addr/pom.xml Thu Dec 6 02:53:21 2007
@@ -86,6 +86,38 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-common-xsd</artifactId>
+ <version>${project.version}</version>
+ <executions>
+ <execution>
+ <id>generate-sources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
+ <xsdOptions>
+ <xsdOption>
+ <xsd>${basedir}/src/main/resources/schemas/ws-addr-wsdl.xsd</xsd>
+ <bindingFile>${basedir}/src/main/resources/schemas/ws-addr-wsdl.xjb</bindingFile>
+ <catalog>${basedir}/src/main/resources/catalog.cat</catalog>
+ <deleteDirs>
+ <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
+ </deleteDirs>
+ </xsdOption>
+ </xsdOptions>
+ </configuration>
+ <goals>
+ <goal>xsdtojava</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/ws/addr</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/ws/addr</developerConnection>
Added: incubator/cxf/trunk/rt/ws/addr/src/main/resources/META-INF/extensions.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/src/main/resources/META-INF/extensions.xml?rev=601693&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/src/main/resources/META-INF/extensions.xml (added)
+++ incubator/cxf/trunk/rt/ws/addr/src/main/resources/META-INF/extensions.xml Thu Dec 6 02:53:21 2007
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+ <!-- WS-A -->
+ <entry key="org.apache.cxf.ws.addressing-1">javax.wsdl.Binding=org.w3._2006._05.addressing.wsdl.UsingAddressing</entry>
+</properties>
Added: incubator/cxf/trunk/rt/ws/addr/src/main/resources/catalog.cat
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/src/main/resources/catalog.cat?rev=601693&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/src/main/resources/catalog.cat (added)
+++ incubator/cxf/trunk/rt/ws/addr/src/main/resources/catalog.cat Thu Dec 6 02:53:21 2007
@@ -0,0 +1,21 @@
+--
+ 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.
+--
+
+
+SYSTEM "http://schemas.xmlsoap.org/wsdl/" "../../../../../../common/schemas/src/main/resources/schemas/wsdl/wsdl.xsd"
Added: incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xjb
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xjb?rev=601693&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xjb (added)
+++ incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xjb Thu Dec 6 02:53:21 2007
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+<jaxb:bindings version="1.0"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+ jaxb:extensionBindingPrefixes="xjc">
+ <jaxb:bindings schemaLocation="http://schemas.xmlsoap.org/wsdl/" node="/xs:schema">
+ <jaxb:schemaBindings>
+ <jaxb:package name="org.apache.cxf.wsdl"/>
+ </jaxb:schemaBindings>
+ <jaxb:globalBindings generateIsSetMethod="true"/>
+ </jaxb:bindings>
+ <jaxb:bindings schemaLocation="http://schemas.xmlsoap.org/wsdl/" node="/xs:schema/xs:complexType[@name='tExtensibilityElement']">
+ <jaxb:class implClass="org.apache.cxf.wsdl.TExtensibilityElementImpl"/>
+ </jaxb:bindings>
+</jaxb:bindings>
Added: incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xsd
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xsd?rev=601693&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xsd (added)
+++ incubator/cxf/trunk/rt/ws/addr/src/main/resources/schemas/ws-addr-wsdl.xsd Thu Dec 6 02:53:21 2007
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ targetNamespace="http://www.w3.org/2006/05/addressing/wsdl"
+ elementFormDefault="qualified"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0">
+
+ <xs:import namespace="http://schemas.xmlsoap.org/wsdl/" schemaLocation="http://schemas.xmlsoap.org/wsdl/" />
+
+ <xs:complexType name="UsingAddressing">
+ <xs:complexContent>
+ <xs:extension base="wsdl:tExtensibilityElement">
+ <xs:sequence />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="UsingAddressing" type="wsaw:UsingAddressing"/>
+
+</xs:schema>
Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/JavaToWSContainer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/JavaToWSContainer.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/JavaToWSContainer.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/JavaToWSContainer.java Thu Dec 6 02:53:21 2007
@@ -126,11 +126,6 @@
}
}
- public Class getServiceClass(ToolContext context) {
- return AnnotationUtil.loadClass((String)context.get(ToolConstants.CFG_CLASSNAME), getClass()
- .getClassLoader());
- }
-
public void checkParams(ErrorVisitor errs) throws ToolException {
super.checkParams(errs);
CommandDocument doc = super.getCommandDocument();
Modified: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java?rev=601693&r1=601692&r2=601693&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java Thu Dec 6 02:53:21 2007
@@ -453,4 +453,21 @@
String expectedFile = getClass().getResource("expected/expected_send_image2.wsdl").getFile();
assertWsdlEquals(new File(expectedFile), wsdlFile);
}
+
+ @Test
+ public void testWSA() throws Exception {
+ env.put(ToolConstants.CFG_OUTPUTFILE, output.getPath() + "/add_numbers.wsdl");
+ env.put(ToolConstants.CFG_CLASSNAME, "org.apache.cxf.tools.fortest.AddNumbersImpl");
+ env.put(ToolConstants.CFG_VERBOSE, ToolConstants.CFG_VERBOSE);
+ try {
+ processor.setEnvironment(env);
+ processor.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ File wsdlFile = new File(output, "add_numbers.wsdl");
+ assertTrue("Generate Wsdl Fail", wsdlFile.exists());
+ String expectedFile = getClass().getResource("expected/add_numbers_expected.wsdl").getFile();
+ assertWsdlEquals(new File(expectedFile), wsdlFile);
+ }
}