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