You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2007/12/12 22:13:57 UTC
svn commit: r603744 - in /incubator/cxf/trunk:
distribution/src/main/release/samples/js_browser_client/
distribution/src/main/release/samples/js_browser_client/staticContent/
rt/core/src/main/java/org/apache/cxf/service/
rt/core/src/main/java/org/apach...
Author: bimargulies
Date: Wed Dec 12 13:13:55 2007
New Revision: 603744
URL: http://svn.apache.org/viewvc?rev=603744&view=rev
Log:
Fix some issues with anonymous types. Improve names used for JavaScript. Experiment with a cxf.xml style
unit test, but turn it off pending an explanation of how it fails in maven.
Added:
incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/
incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/README.txt
incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/build.xml
incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/staticContent/
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java (with props)
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java (with props)
incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml (with props)
incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/
incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl (with props)
Modified:
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
incubator/cxf/trunk/rt/javascript/pom.xml
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/NameManager.java
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/QueryHandlerTest.java
Added: incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/README.txt
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/README.txt?rev=603744&view=auto
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/README.txt (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/README.txt Wed Dec 12 13:13:55 2007
@@ -0,0 +1,171 @@
+Hello World Demo using Document/Literal Style
+=============================================
+
+This demo illustrates the use of the JAX-WS APIs to run a simple
+client against a standalone server using SOAP 1.1 over HTTP.
+
+It also shows how CXF configuration can be used to enable schema validation
+on the client and/or server side: By default the message parameters would not
+be validated, but the presence of the cxf.xml configuration file on
+the classpath, and its content change this default behavior:
+The configuration file specifies that
+
+a) if a JAX-WS client proxy is created for port {http://apache.org/hello_world_soap_http}SoapPort
+it should have schema validation enabled.
+
+b) if a JAX-WS server endpoint is created for port {http://apache.org/hello_world_soap_http}SoapPort
+it should have schema validation enabled.
+
+The client's second greetMe invocation causes an exception (a marshalling
+error) on the client side, i.e. before the request with the invalid parameter
+goes on the wire.
+After commenting the definition of the <jaxws:client> element in cxf.xml you
+will notice that the client's second greetMe invocation still throws an exception,
+but that this time the exception is caused by an unmarshalling error on the
+server side.
+Commenting both elements, or renaming/removing the cfg.xml file, and thus
+restoring the default behavior, results in the second greetMe invocation
+not causing an exception.
+
+Please review the README in the samples directory before continuing.
+
+
+Prerequisite
+------------
+
+If your environment already includes cxf-manifest-incubator.jar on the
+CLASSPATH, and the JDK and ant bin directories on the PATH
+it is not necessary to set the environment as described in
+the samples directory README. If your environment is not
+properly configured, or if you are planning on using wsdl2java,
+javac, and java to build and run the demos, you must set the
+environment.
+
+
+Building and running the demo using Ant
+---------------------------------------
+From the base directory of this sample (i.e., where this README file is
+located), the Ant build.xml file can be used to build and run the demo.
+The server and client targets automatically build the demo.
+
+Using either UNIX or Windows:
+
+ ant server (from one command line window)
+ ant client (from a second command line window)
+
+
+To remove the code generated from the WSDL file and the .class
+files, run "ant clean".
+
+
+Building the demo using wsdl2java and javac
+-------------------------------------------
+
+From the base directory of this sample (i.e., where this README file is
+located) first create the target directory build/classes and then
+generate code from the WSDL file.
+
+For UNIX:
+ mkdir -p build/classes
+
+ wsdl2java -d build/classes -compile ./wsdl/hello_world.wsdl
+
+For Windows:
+ mkdir build\classes
+ Must use back slashes.
+
+ wsdl2java -d build\classes -compile .\wsdl\hello_world.wsdl
+ May use either forward or back slashes.
+
+Now compile the provided client and server applications with the commands:
+
+For UNIX:
+
+ export CLASSPATH=$CLASSPATH:$CXF_HOME/lib/cxf-manifest-incubator.jar:./build/classes
+ javac -d build/classes src/demo/hw/client/*.java
+ javac -d build/classes src/demo/hw/server/*.java
+
+For Windows:
+ set classpath=%classpath%;%CXF_HOME%\lib\cxf-manifest-incubator.jar;.\build\classes
+ javac -d build\classes src\demo\hw\client\*.java
+ javac -d build\classes src\demo\hw\server\*.java
+
+
+Running the demo using java
+---------------------------
+
+From the base directory of this sample (i.e., where this README file is
+located) run the commands, entered on a single command line:
+
+For UNIX (must use forward slashes):
+ java -Djava.util.logging.config.file=$CXF_HOME/etc/logging.properties
+ demo.hw.server.Server &
+
+ java -Djava.util.logging.config.file=$CXF_HOME/etc/logging.properties
+ demo.hw.client.Client ./wsdl/hello_world.wsdl
+
+The server process starts in the background. After running the client,
+use the kill command to terminate the server process.
+
+For Windows (may use either forward or back slashes):
+ start
+ java -Djava.util.logging.config.file=%CXF_HOME%\etc\logging.properties
+ demo.hw.server.Server
+
+ java -Djava.util.logging.config.file=%CXF_HOME%\etc\logging.properties
+ demo.hw.client.Client .\wsdl\hello_world.wsdl
+
+A new command windows opens for the server process. After running the
+client, terminate the server process by issuing Ctrl-C in its command window.
+
+To remove the code generated from the WSDL file and the .class
+files, either delete the build directory and its contents or run:
+
+ ant clean
+
+
+Building and running the demo in a servlet container
+----------------------------------------------------
+
+Please refer to samples directory README for building demo in a servlet container.
+
+Using ant, run the client application with the command:
+
+ ant client-servlet -Dbase.url=http://localhost:#
+
+Where # is the TCP/IP port used by the servlet container,
+e.g., 8080.
+
+Or
+ ant client-servlet -Dhost=localhost -Dport=8080
+
+You can ignore the -Dhost and -Dport if your tomcat setup is same, i.e ant client-servlet
+
+Using java, run the client application with the command:
+
+ For UNIX:
+
+ java -Djava.util.logging.config.file=$CXF_HOME/etc/logging.properties
+ demo.hw.client.Client http://localhost:#/helloworld/services/hello_world?wsdl
+
+ For Windows:
+
+ java -Djava.util.logging.config.file=%CXF_HOME%\etc\logging.properties
+ demo.hw.client.Client http://localhost:#/helloworld/services/hello_world?wsdl
+
+Where # is the TCP/IP port used by the servlet container,
+e.g., 8080.
+
+
+Running demo with HTTP GET
+--------------------------
+APACHE CXF support HTTP GET to invoke the service, instead of running
+
+ ant client
+
+you can use
+
+ ant client.get
+
+to invoke the service with simple HttpURLConnection, or you can even
+use your favorite browser to get the results back.
Added: incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/build.xml?rev=603744&view=auto
==============================================================================
--- incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/build.xml (added)
+++ incubator/cxf/trunk/distribution/src/main/release/samples/js_browser_client/build.xml Wed Dec 12 13:13:55 2007
@@ -0,0 +1,59 @@
+<?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.
+-->
+<project name="JavaScript browser client demo" default="build" basedir=".">
+
+ <import file="../common_build.xml"/>
+
+ <target name="client" description="run demo client" depends="build">
+ <property name="param" value=""/>
+ <cxfrun classname="demo.hw.client.Client"
+ param1="${basedir}/wsdl/hello_world.wsdl"
+ param2="${op}"
+ param3="${param}"/>
+ </target>
+
+ <target name="server" description="run demo server" depends="build">
+ <cxfrun classname="demo.hw.server.Server"
+ param1="${basedir}/wsdl/hello_world.wsdl"/>
+ </target>
+
+ <target name="client.get" description="run demo client through HTTP GET" depends="build">
+ <property name="param" value=""/>
+ <cxfrun classname="demo.hw.client.Get"
+ param1="${basedir}/wsdl/hello_world.wsdl"
+ param2="${op}"
+ param3="${param}"/>
+ </target>
+
+ <target name="generate.code">
+ <echo level="info" message="Generating code using wsdl2java..."/>
+ <wsdl2java file="hello_world.wsdl"/>
+ </target>
+
+ <property name="cxf.war.file.name" value="helloworld"/>
+ <target name="war" depends="build">
+ <cxfwar wsdl="hello_world.wsdl" filename="${cxf.war.file.name}.war"/>
+ </target>
+
+ <target name="client-servlet" description="run demo client hitting servlet" depends="build">
+ <property name="param" value=""/>
+ <cxfrun classname="demo.hw.client.Client" param1="${base.url}/helloworld/services/hello_world?wsdl" param2="${op}" param3="${param}"/>
+ </target>
+</project>
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java Wed Dec 12 13:13:55 2007
@@ -44,7 +44,8 @@
@Override
public void begin(MessagePartInfo part) {
- if (part.isElement()) {
+ // the unwrapped parts build for wrapped operations don't have real elements.
+ if (part.isElement() && !part.getMessageInfo().getOperation().isUnwrapped()) {
try {
schemaCollection.validateElementName(part.getName(), part.getElementQName());
} catch (InvalidXmlSchemaReferenceException ixsre) {
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java Wed Dec 12 13:13:55 2007
@@ -264,7 +264,7 @@
if (resolvedSchemaLocation == null) {
try {
- //check to see if it's aleady in a URL format. If so, leave it.
+ //check to see if it's already in a URL format. If so, leave it.
new URL(start);
} catch (MalformedURLException e) {
done.put(start, imp.getDefinition());
@@ -339,7 +339,7 @@
String resolvedSchemaLocation = resolveWithCatalogs(catalogs, start, base);
if (resolvedSchemaLocation == null) {
try {
- //check to see if it's aleady in a URL format. If so, leave it.
+ //check to see if it's already in a URL format. If so, leave it.
new URL(start);
} catch (MalformedURLException e) {
doneSchemas.put(start, imp);
Modified: incubator/cxf/trunk/rt/javascript/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/pom.xml?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/pom.xml (original)
+++ incubator/cxf/trunk/rt/javascript/pom.xml Wed Dec 12 13:13:55 2007
@@ -141,10 +141,40 @@
<version>1.6R7</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>${jetty.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.3.1</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
+ <plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-codegen-plugin</artifactId>
+ <version>${project.version}</version>
+ <executions>
+ <execution>
+ <id>generate-test-sources</id>
+ <phase>generate-test-sources</phase>
+ <configuration>
+ <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
+ <wsdlRoot>${basedir}/src/test/resources/wsdl</wsdlRoot>
+ </configuration>
+ <goals>
+ <goal>wsdl2java</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptQueryHandler.java Wed Dec 12 13:13:55 2007
@@ -48,7 +48,7 @@
private static final String JS_UTILS_PATH = "/org/apache/cxf/javascript/cxf-utils.js";
private static final Logger LOG = LogUtils.getL7dLogger(JavascriptQueryHandler.class);
private static final Charset UTF8 = Charset.forName("utf-8");
- private static final String UTILS_QUERY_KEY = "jsutils";
+ private static final String NO_UTILS_QUERY_KEY = "nojsutils";
private static final String CODE_QUERY_KEY = "js";
private Bus bus;
@@ -60,7 +60,7 @@
public String getResponseContentType(String fullQueryString, String ctx) {
URI uri = URI.create(fullQueryString);
Map<String, String> map = UrlUtilities.parseQueryString(uri.getQuery());
- if (map.containsKey(UTILS_QUERY_KEY) || map.containsKey(CODE_QUERY_KEY)) {
+ if (map.containsKey(CODE_QUERY_KEY)) {
return "application/javascript;charset=UTF-8";
}
return null;
@@ -73,10 +73,6 @@
}
URI uri = URI.create(baseUri);
Map<String, String> map = UrlUtilities.parseQueryString(uri.getQuery());
- if (map.containsKey(UTILS_QUERY_KEY)) {
- // the utils are independent of the endpoint.
- return true;
- }
if (map.containsKey(CODE_QUERY_KEY)) {
return endpointInfo.getAddress().contains(UrlUtilities.getStem(uri.getSchemeSpecificPart()));
}
@@ -95,6 +91,7 @@
while ((count = utils.read(buffer, 0, 1024)) > 0) {
outputStream.write(buffer, 0, count);
}
+ outputStream.flush();
} catch (IOException e) {
throw new RuntimeException("Failed to write javascript utils to HTTP response.", e);
}
@@ -120,9 +117,10 @@
String query = uri.getQuery();
Map<String, String> map = UrlUtilities.parseQueryString(query);
OutputStreamWriter writer = new OutputStreamWriter(os, UTF8);
- if (map.containsKey(UTILS_QUERY_KEY)) {
+ if (!map.containsKey(NO_UTILS_QUERY_KEY)) {
writeUtilsToResponseStream(JavascriptQueryHandler.class, os);
- } else if (map.containsKey(CODE_QUERY_KEY)) {
+ }
+ if (map.containsKey(CODE_QUERY_KEY)) {
ServiceInfo serviceInfo = endpoint.getService();
Collection<SchemaInfo> schemata = serviceInfo.getSchemas();
Endpoint serverEndpoint = findEndpoint(endpoint);
Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/NameManager.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/NameManager.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/NameManager.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/NameManager.java Wed Dec 12 13:13:55 2007
@@ -21,9 +21,6 @@
import javax.xml.namespace.QName;
-import org.apache.ws.commons.schema.XmlSchemaComplexType;
-
public interface NameManager {
- String getJavascriptName(XmlSchemaComplexType schemaType);
String getJavascriptName(QName qname);
}
Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/XmlSchemaUtils.java Wed Dec 12 13:13:55 2007
@@ -36,8 +36,9 @@
import org.apache.ws.commons.schema.XmlSchemaType;
/**
- * There are a number of pitfalls in Commons Xml Schema. This class contains some utilities
- * that avoid some of the problems and centralizes some repetitive tasks.
+ * There are a number of pitfalls in Commons Xml Schema. This class contains
+ * some utilities that avoid some of the problems and centralizes some
+ * repetitive tasks.
*/
public final class XmlSchemaUtils {
public static final XmlSchemaForm QUALIFIED = new XmlSchemaForm(XmlSchemaForm.QUALIFIED);
@@ -94,13 +95,14 @@
}
/**
- * This copes with an observed phenomenon in the schema built by the
- * ReflectionServiceFactoryBean. It
- * is creating element such that: (a) the type is not set. (b) the refName is set.
- * (c) the namespaceURI in the refName is set empty. This apparently indicates
- * 'same Schema' to everyone else, so thus function implements
- * that convention here. It is unclear if that is a correct structure,
- * and it if changes, we can simplify or eliminate this function.
+ * This copes with an observed phenomenon in the schema built by the
+ * ReflectionServiceFactoryBean. It is creating element such that: (a) the
+ * type is not set. (b) the refName is set. (c) the namespaceURI in the
+ * refName is set empty. This apparently indicates 'same Schema' to everyone
+ * else, so thus function implements that convention here. It is unclear if
+ * that is a correct structure, and it if changes, we can simplify or
+ * eliminate this function.
+ *
* @param name
* @param referencingURI
* @return
@@ -120,7 +122,9 @@
/**
- * Follow a chain of references from element to element until we can obtain a type.
+ * Follow a chain of references from element to element until we can obtain
+ * a type.
+ *
* @param element
* @return
*/
@@ -138,7 +142,8 @@
return type;
}
assert element != null;
- // The referencing URI only helps if there is a schema that points to it.
+ // The referencing URI only helps if there is a schema that points to
+ // it.
// It might be the URI for the wsdl TNS, which might have no schema.
if (xmlSchemaCollection.getSchemaByTargetNamespace(referencingURI) == null) {
referencingURI = null;
@@ -181,20 +186,20 @@
}
/**
- * due to a bug, feature, or just plain oddity of JAXB, it isn't good enough to just check the
- * for of an element and of its schema. If schema 'a' (default unqualified) has a complex type
- * with an element with a ref= to schema (b) (default unqualified), JAXB seems to expect to
- * see a qualifier, anyway.
- * <br/>
- * So, if the element is local to a complex type, all we care about is the default element form of the
- * schema and the local form of the element.
- * <br/>
- * If, on the other hand, the element is global, we might need to compare namespaces.
- * <br/>
+ * due to a bug, feature, or just plain oddity of JAXB, it isn't good enough
+ * to just check the for of an element and of its schema. If schema 'a'
+ * (default unqualified) has a complex type with an element with a ref= to
+ * schema (b) (default unqualified), JAXB seems to expect to see a
+ * qualifier, anyway. <br/> So, if the element is local to a complex type,
+ * all we care about is the default element form of the schema and the local
+ * form of the element. <br/> If, on the other hand, the element is global,
+ * we might need to compare namespaces. <br/>
+ *
* @param element the element.
- * @param global if this element is a global element (complex type ref= to it, or in a part)
- * @param localSchema the schema of the complex type containing the reference,
- * only used for the 'odd case'.
+ * @param global if this element is a global element (complex type ref= to
+ * it, or in a part)
+ * @param localSchema the schema of the complex type containing the
+ * reference, only used for the 'odd case'.
* @param elementSchema the schema for the element.
* @return if the element needs to be qualified.
*/
@@ -225,6 +230,18 @@
public static boolean isParticleOptional(XmlSchemaParticle particle) {
return particle.getMinOccurs() == 0 && particle.getMaxOccurs() == 1;
}
-
+
+ public static XmlSchemaElement getReferredElement(XmlSchemaElement element,
+ SchemaCollection xmlSchemaCollection) {
+ if (element.getRefName() != null) {
+ XmlSchemaElement refElement = xmlSchemaCollection.getElementByQName(element.getRefName());
+ if (refElement == null) {
+ throw new RuntimeException("Dangling reference");
+ }
+ return refElement;
+ }
+ return null;
+ }
+
}
Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/service/ServiceJavascriptBuilder.java Wed Dec 12 13:13:55 2007
@@ -408,7 +408,7 @@
if (null == complexType.getName()) {
throw new RuntimeException("anonymous type unexpected.");
}
- typeObjectName = nameManager.getJavascriptName(complexType);
+ typeObjectName = nameManager.getJavascriptName(complexType.getQName());
utils
.appendLine("var returnObject = "
+ typeObjectName
@@ -662,7 +662,7 @@
// we should be ignoring this for zero-argument wrappers.
inputWrapperClassName = nameManager.getJavascriptName(inputWrapperPartInfo.getName());
} else {
- inputWrapperClassName = nameManager.getJavascriptName(inputWrapperComplexType);
+ inputWrapperClassName = nameManager.getJavascriptName(inputWrapperComplexType.getQName());
}
}
Modified: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/types/SchemaJavascriptBuilder.java Wed Dec 12 13:13:55 2007
@@ -120,7 +120,7 @@
} else {
type = schema.getSchema().getTypeByName(element.getSchemaTypeName());
}
- if (!(xmlSchemaObject instanceof XmlSchemaComplexType)) {
+ if (!(type instanceof XmlSchemaComplexType)) {
// we never make classes for simple type.
continue;
}
@@ -251,7 +251,7 @@
utils.appendLine("return xml;");
code.append("}\n");
- code.append(nameManager.getJavascriptName(type) + ".prototype.serialize = " + functionName + ";\n");
+ code.append(nameManager.getJavascriptName(name) + ".prototype.serialize = " + functionName + ";\n");
return code.toString();
}
@@ -327,28 +327,17 @@
thing.getClass().getSimpleName(), type);
}
- boolean global = false;
XmlSchemaElement sequenceElement = (XmlSchemaElement)thing;
- XmlSchemaElement realElement = sequenceElement;
-
- if (sequenceElement.getRefName() != null) {
- XmlSchemaElement refElement =
- xmlSchemaCollection.getElementByQName(sequenceElement.getRefName());
- if (refElement == null) {
- throw new RuntimeException("Dangling reference");
- }
- realElement = refElement;
- global = true;
+ XmlSchemaElement realElement = XmlSchemaUtils.getReferredElement(sequenceElement,
+ xmlSchemaCollection);
+ boolean global = realElement != null;
+ if (!global) {
+ realElement = sequenceElement;
}
-
XmlSchemaType elType = XmlSchemaUtils.getElementType(xmlSchemaCollection,
null, realElement, type);
boolean simple = elType instanceof XmlSchemaSimpleType;
-
String accessorName = "set" + StringUtils.capitalize(realElement.getName());
- // For optional or an array, we need to check if the element is the
- // one we want.
-
String elementName = realElement.getName();
utils.appendLine("cxfjsutils.trace('processing " + elementName + "');");
String elementNamespaceURI = realElement.getQName().getNamespaceURI();
@@ -359,9 +348,9 @@
}
boolean qualified = !elementNoNamespace
&& XmlSchemaUtils.isElementQualified(realElement,
- global,
- schemaInfo.getSchema(),
- elementSchema);
+ global,
+ schemaInfo.getSchema(),
+ elementSchema);
if (!qualified) {
elementNamespaceURI = "";
@@ -392,7 +381,13 @@
+ " = " + utils.javascriptParseExpression(elType, "value")
+ ";");
} else {
- String elTypeJsName = nameManager.getJavascriptName((XmlSchemaComplexType)elType);
+ XmlSchemaComplexType complexType = (XmlSchemaComplexType)elType;
+ QName baseQName = complexType.getQName();
+ if (baseQName == null) {
+ baseQName = realElement.getQName();
+ }
+
+ String elTypeJsName = nameManager.getJavascriptName(baseQName);
utils.appendLine(valueTarget + " = "
+ elTypeJsName
+ "_deserialize(cxfjsutils, curElement);");
Added: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java?rev=603744&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java (added)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java Wed Dec 12 13:13:55 2007
@@ -0,0 +1,111 @@
+/**
+ * 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.cxf.javascript;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.logging.Logger;
+
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.javascript.hwdemo.GreeterImpl;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.assertTrue;
+
+
+/**
+ * This test is here because the Javascript came up missing important pieces
+ * when first tried with the wsdl_first sample program.
+ * This test tanks when maven runs it with in the regular mix. Un-ignore when
+ * needed.
+ */
+@org.junit.Ignore
+public class DemoServerTest {
+ private static final Logger LOG = LogUtils.getL7dLogger(DemoServerTest.class);
+ private static final Charset UTF8 = Charset.forName("utf-8");
+ private static String oldConfigProperty;
+
+ private Endpoint endpoint;
+
+ @BeforeClass
+ public static void beforeClass() {
+ oldConfigProperty = System.setProperty("cxf.config.file",
+ "org/apache/cxf/javascript/SampleServer_cxf.xml");
+
+ }
+
+ @AfterClass
+ public static void afterClass() {
+ System.setProperty("cxf.config.file", oldConfigProperty);
+ }
+
+ @Before
+ public void before() throws Exception {
+ Object implementor = new GreeterImpl();
+ String address = "http://localhost:9000/SoapContext/SoapPort";
+ endpoint = Endpoint.publish(address, implementor);
+ }
+
+ @After
+ public void after() throws Exception {
+ endpoint.stop();
+ }
+
+ private String getStringFromURL(URL url) throws IOException {
+ InputStream jsStream = url.openStream();
+ return readStringFromStream(jsStream);
+ }
+
+ private String readStringFromStream(InputStream jsStream) throws IOException {
+ InputStreamReader isr = new InputStreamReader(jsStream, UTF8);
+ BufferedReader in = new BufferedReader(isr);
+ String line = in.readLine();
+ StringBuilder js = new StringBuilder();
+ while (line != null) {
+ String[] tok = line.split("\\s");
+
+ for (int x = 0; x < tok.length; x++) {
+ String token = tok[x];
+ js.append(" " + token);
+ }
+ js.append("\n");
+ line = in.readLine();
+ }
+ return js.toString();
+ }
+
+ @Test
+ public void testJavascriptCompleteness() throws Exception {
+ LOG.fine("avoid warnings");
+ URL endpointURL = new URL("http://localhost:9000/SoapContext/SoapPort?js");
+ String js = getStringFromURL(endpointURL);
+ // faultDetail will only be here if we got a nontrivial schema.
+ assertTrue(js.contains("faultDetail"));
+ }
+}
Propchange: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/DemoServerTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/QueryHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/QueryHandlerTest.java?rev=603744&r1=603743&r2=603744&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/QueryHandlerTest.java (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/QueryHandlerTest.java Wed Dec 12 13:13:55 2007
@@ -114,12 +114,12 @@
@Test
public void utilsTest() throws Exception {
- URL endpointURL = new URL(dlbEndpoint.getAddress() + "?jsutils");
+ URL endpointURL = new URL(dlbEndpoint.getAddress() + "?js&nojsutils");
URLConnection connection = endpointURL.openConnection();
assertEquals("application/javascript;charset=UTF-8", connection.getContentType());
InputStream jsStream = connection.getInputStream();
String jsString = readStringFromStream(jsStream);
- assertTrue(jsString.contains("CxfApacheOrgUtil"));
+ assertFalse(jsString.contains("function CxfApacheOrgUtil"));
}
// this is in here since we need to use the query handler to perform the test.
Added: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java?rev=603744&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java (added)
+++ incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java Wed Dec 12 13:13:55 2007
@@ -0,0 +1,75 @@
+/**
+ * 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.cxf.javascript.hwdemo;
+
+import java.util.logging.Logger;
+
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.PingMeFault;
+import org.apache.hello_world_soap_http.types.FaultDetail;
+
+@javax.jws.WebService(portName = "SoapPort", serviceName = "SOAPService",
+ targetNamespace = "http://apache.org/hello_world_soap_http",
+ endpointInterface = "org.apache.hello_world_soap_http.Greeter")
+
+public class GreeterImpl implements Greeter {
+
+ private static final Logger LOG = LogUtils.getL7dLogger(GreeterImpl.class);
+
+ /* (non-Javadoc)
+ * @see org.apache.hello_world_soap_http.Greeter#greetMe(java.lang.String)
+ */
+ public String greetMe(String me) {
+ LOG.info("Executing operation greetMe");
+ System.out.println("Executing operation greetMe");
+ System.out.println("Message received: " + me + "\n");
+ return "Hello " + me;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.hello_world_soap_http.Greeter#greetMeOneWay(java.lang.String)
+ */
+ public void greetMeOneWay(String me) {
+ LOG.info("Executing operation greetMeOneWay");
+ System.out.println("Executing operation greetMeOneWay\n");
+ System.out.println("Hello there " + me);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.hello_world_soap_http.Greeter#sayHi()
+ */
+ public String sayHi() {
+ LOG.info("Executing operation sayHi");
+ System.out.println("Executing operation sayHi\n");
+ return "Bonjour";
+ }
+
+ public void pingMe() throws PingMeFault {
+ FaultDetail faultDetail = new FaultDetail();
+ faultDetail.setMajor((short)2);
+ faultDetail.setMinor((short)1);
+ LOG.info("Executing operation pingMe, throwing PingMeFault exception");
+ System.out.println("Executing operation pingMe, throwing PingMeFault exception\n");
+ throw new PingMeFault("PingMeFault raised by server", faultDetail);
+ }
+
+
+}
Propchange: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/javascript/src/test/java/org/apache/cxf/javascript/hwdemo/GreeterImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml?rev=603744&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml (added)
+++ incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml Wed Dec 12 13:13:55 2007
@@ -0,0 +1,50 @@
+<?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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jaxws="http://cxf.apache.org/jaxws"
+ xmlns:cxf="http://cxf.apache.org/core"
+ xmlns:soap="http://cxf.apache.org/bindings/soap"
+ xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+http://cxf.apache.org/bindings/soap http://cxf.apache.org/schema/bindings/soap.xsd
+http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+">
+
+ <!-- comment this bean to disable schema validation in the client -->
+
+ <jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort"
+ createdFromAPI="true">
+ <jaxws:properties>
+ <entry key="schema-validation-enabled" value="true" />
+ </jaxws:properties>
+ </jaxws:client>
+
+ <jaxws:endpoint name="{http://apache.org/hello_world_soap_http}SoapPort"
+ wsdlLocation="wsdl/hello_world.wsdl"
+ createdFromAPI="true">
+ <jaxws:properties>
+ <entry key="schema-validation-enabled" value="true" />
+ </jaxws:properties>
+ </jaxws:endpoint>
+
+</beans>
+
Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/org/apache/cxf/javascript/SampleServer_cxf.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl?rev=603744&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl (added)
+++ incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl Wed Dec 12 13:13:55 2007
@@ -0,0 +1,181 @@
+<?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.
+-->
+<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://apache.org/hello_world_soap_http"
+ xmlns:x1="http://apache.org/hello_world_soap_http/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema targetNamespace="http://apache.org/hello_world_soap_http/types"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://apache.org/hello_world_soap_http/types"
+ elementFormDefault="qualified">
+ <simpleType name="MyStringType">
+ <restriction base="string">
+ <maxLength value="30" />
+ </restriction>
+ </simpleType>
+
+ <element name="sayHi">
+ <complexType/>
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="tns:MyStringType"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="pingMe">
+ <complexType/>
+ </element>
+ <element name="pingMeResponse">
+ <complexType/>
+ </element>
+ <element name="faultDetail">
+ <complexType>
+ <sequence>
+ <element name="minor" type="short"/>
+ <element name="major" type="short"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part element="x1:sayHi" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part element="x1:sayHiResponse" name="out"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part element="x1:greetMe" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part element="x1:greetMeResponse" name="out"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part element="x1:greetMeOneWay" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeRequest">
+ <wsdl:part name="in" element="x1:pingMe"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeResponse">
+ <wsdl:part name="out" element="x1:pingMeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeFault">
+ <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+ </wsdl:message>
+
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
+ <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
+ <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
+ <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
+ <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="sayHi">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="sayHiRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="sayHiResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="greetMeRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="greetMeResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="greetMeOneWayRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="pingMeFault">
+ <soap:fault name="pingMeFault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+
+ </wsdl:binding>
+ <wsdl:service name="SOAPService">
+ <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
+ <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+
Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/rt/javascript/src/test/resources/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml