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 2008/07/10 16:15:28 UTC
svn commit: r675582 - in
/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url:
./ src/ src/demo/ src/demo/hw/ src/demo/hw/client/ src/demo/hw/server/
staticContent/ wsdl/
Author: bimargulies
Date: Thu Jul 10 07:15:27 2008
New Revision: 675582
URL: http://svn.apache.org/viewvc?rev=675582&view=rev
Log:
Add another js demo that isn't working yet.
Added:
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml (with props)
cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl (with props)
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt Thu Jul 10 07:15:27 2008
@@ -0,0 +1,116 @@
+JavaScript Client Demo using Document/Literal Style
+=============================================
+
+This demo illustrates the use of the JavaScript client generator. This
+demo deploys the a service based on the wsdl_first demo, and then
+provides a browser-compatible client that communicates with it. Please
+read the README.txt for the wsdl_first sample for more information on
+the service.
+
+The cxf.xml for this sample configures the embedded Jetty web server
+to deliver static HTML content from the 'staticContent' directory.
+
+Please review the README in the samples directory before continuing.
+
+Please see the wiki user documentation for complete information on
+JavaScript client feature.
+
+Prerequisite
+------------
+
+If your environment already includes cxf-manifest.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
+server for the demo.
+
+Using either UNIX or Windows:
+
+ ant server (from one 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 server applications with the commands:
+
+For UNIX:
+
+ export CLASSPATH=$CLASSPATH:$CXF_HOME/lib/cxf-manifest.jar:./build/classes
+ javac -d build/classes src/demo/hw/server/*.java
+
+For Windows:
+ set classpath=%classpath%;%CXF_HOME%\lib\cxf-manifest.jar;.\build\classes
+ 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 &
+
+The server process starts in the background. After running the client,
+use the kill command to terminate the server process. Or wait five
+minutes, and the server will exit.
+
+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
+
+On Windows, 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
+
+
+Running the client in a browser
+-------------------------------
+
+Once the server is running, browse to:
+
+ http://HOSTNAME:9000/HelloWorld.html
+
+(Substitute your hostname for HOSTNAME.)
+
+On the web page you see, click on the 'invoke' button to invoke the
+very simple sayHi service, which takes no input and returns a single
+string.
+
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/README.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml Thu Jul 10 07:15:27 2008
@@ -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>
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/build.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml Thu Jul 10 07:15:27 2008
@@ -0,0 +1,72 @@
+<?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:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
+
+ xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.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
+http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd
+">
+
+<httpj:engine-factory bus="cxf">
+ <!-- The static content runs on port 9001 -->
+ <httpj:engine port="9001">
+ <httpj:handlers>
+ <bean class="org.mortbay.jetty.handler.ContextHandler">
+ <property name="contextPath" value="/" />
+ <property name="handler">
+ <bean class="org.mortbay.jetty.handler.ResourceHandler">
+ <property name="baseResource">
+ <bean class="org.mortbay.resource.FileResource">
+ <constructor-arg value="file:staticContent" />
+ </bean>
+ </property>
+ </bean>
+ </property>
+ </bean>
+ <bean class="org.mortbay.jetty.handler.DefaultHandler"/>
+ </httpj:handlers>
+ </httpj:engine>
+</httpj:engine-factory>
+
+ <!-- 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: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/cxf.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java Thu Jul 10 07:15:27 2008
@@ -0,0 +1,97 @@
+/**
+ * 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 demo.hw.client;
+
+import java.io.File;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceException;
+import org.apache.hello_world_soap_http.Greeter;
+import org.apache.hello_world_soap_http.PingMeFault;
+import org.apache.hello_world_soap_http.JSDemoService;
+import org.apache.hello_world_soap_http.types.FaultDetail;
+
+public final class Client {
+
+ private static final QName SERVICE_NAME
+ = new QName("http://apache.org/hello_world_soap_http", "JSDemoService");
+
+
+ private Client() {
+ }
+
+ public static void main(String args[]) throws Exception {
+
+ if (args.length == 0) {
+ System.out.println("please specify wsdl");
+ System.exit(1);
+ }
+
+ URL wsdlURL;
+ File wsdlFile = new File(args[0]);
+ if (wsdlFile.exists()) {
+ wsdlURL = wsdlFile.toURL();
+ } else {
+ wsdlURL = new URL(args[0]);
+ }
+
+ System.out.println(wsdlURL);
+ JSDemoService ss = new JSDemoService(wsdlURL, SERVICE_NAME);
+ Greeter port = ss.getJSDemoPort();
+ String resp;
+
+ System.out.println("Invoking sayHi...");
+ resp = port.sayHi();
+ System.out.println("Server responded with: " + resp);
+ System.out.println();
+
+ System.out.println("Invoking greetMe...");
+ resp = port.greetMe(System.getProperty("user.name"));
+ System.out.println("Server responded with: " + resp);
+ System.out.println();
+
+ System.out.println("Invoking greetMe with invalid length string, expecting exception...");
+ try {
+ resp = port.greetMe("Invoking greetMe with invalid length string, expecting exception...");
+ } catch (WebServiceException ex) {
+ System.out.println("Caught expected WebServiceException:");
+ System.out.println(" " + ex.getMessage());
+ }
+
+ System.out.println();
+
+ System.out.println("Invoking greetMeOneWay...");
+ port.greetMeOneWay(System.getProperty("user.name"));
+ System.out.println("No response from server as method is OneWay");
+ System.out.println();
+
+ try {
+ System.out.println("Invoking pingMe, expecting exception...");
+ port.pingMe();
+ } catch (PingMeFault ex) {
+ System.out.println("Expected exception: PingMeFault has occurred: " + ex.getMessage());
+ FaultDetail detail = ex.getFaultInfo();
+ System.out.println("FaultDetail major:" + detail.getMajor());
+ System.out.println("FaultDetail minor:" + detail.getMinor());
+ }
+ System.exit(0);
+ }
+
+}
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Client.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java Thu Jul 10 07:15:27 2008
@@ -0,0 +1,117 @@
+/**
+ * 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 demo.hw.client;
+
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Properties;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+public final class Get {
+
+ private Get() {
+ }
+
+ public static void main(String args[]) throws Exception {
+ // Sent HTTP GET request to invoke sayHi
+ String target = "http://localhost:9000/SoapContext/SoapPort/sayHi";
+ URL url = new URL(target);
+ HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
+ httpConnection.connect();
+ System.out.println("Invoking server through HTTP GET to invoke sayHi");
+
+ InputStream in = httpConnection.getInputStream();
+ StreamSource source = new StreamSource(in);
+ printSource(source);
+
+ // Sent HTTP GET request to invoke greetMe FAULT
+ target = "http://localhost:9000/SoapContext/SoapPort/greetMe/me/CXF";
+ url = new URL(target);
+ httpConnection = (HttpURLConnection) url.openConnection();
+ httpConnection.connect();
+ System.out.println("Invoking server through HTTP GET to invoke greetMe");
+
+ try {
+ in = httpConnection.getInputStream();
+ source = new StreamSource(in);
+ printSource(source);
+ } catch (Exception e) {
+ System.err.println("GreetMe Fault: " + e.getMessage());
+ }
+ InputStream err = httpConnection.getErrorStream();
+ source = new StreamSource(err);
+ printSource(source);
+
+ // Sent HTTP GET request to invoke greetMe
+ target = "http://localhost:9000/SoapContext/SoapPort/greetMe/requestType/CXF";
+ url = new URL(target);
+ httpConnection = (HttpURLConnection) url.openConnection();
+ httpConnection.connect();
+ System.out.println("Invoking server through HTTP GET to invoke greetMe");
+
+ in = httpConnection.getInputStream();
+ source = new StreamSource(in);
+ printSource(source);
+
+ // Sent HTTP GET request to invoke pingMe
+ target = "http://localhost:9000/SoapContext/SoapPort/pingMe";
+ url = new URL(target);
+ httpConnection = (HttpURLConnection) url.openConnection();
+ httpConnection.connect();
+ System.out.println("Invoking server through HTTP GET to invoke pingMe");
+
+ try {
+ in = httpConnection.getInputStream();
+ } catch (Exception e) {
+ System.out.println("PingMe fault raised");
+ }
+ err = httpConnection.getErrorStream();
+ source = new StreamSource(err);
+ printSource(source);
+ }
+
+ private static void printSource(Source source) {
+ try {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ StreamResult sr = new StreamResult(bos);
+ Transformer trans = TransformerFactory.newInstance().newTransformer();
+ Properties oprops = new Properties();
+ oprops.put(OutputKeys.OMIT_XML_DECLARATION, "yes");
+ trans.setOutputProperties(oprops);
+ trans.transform(source, sr);
+ System.out.println();
+ System.out.println("**** Response ******");
+ System.out.println();
+ System.out.println(bos.toString());
+ bos.close();
+ System.out.println();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/client/Get.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java Thu Jul 10 07:15:27 2008
@@ -0,0 +1,74 @@
+/**
+ * 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 demo.hw.server;
+
+import java.util.logging.Logger;
+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 = "JSDemoPort", serviceName = "JSDemoService",
+ 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 =
+ Logger.getLogger(GreeterImpl.class.getPackage().getName());
+
+ /* (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: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/GreeterImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java Thu Jul 10 07:15:27 2008
@@ -0,0 +1,41 @@
+/**
+ * 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 demo.hw.server;
+
+import javax.xml.ws.Endpoint;
+
+public class Server {
+
+ protected Server() throws Exception {
+ System.out.println("Starting Server");
+ Object implementor = new GreeterImpl();
+ String address = "http://localhost:9000/JSDemoService/JSDemoPort";
+ Endpoint.publish(address, implementor);
+ }
+
+ public static void main(String args[]) throws Exception {
+ new Server();
+ System.out.println("Server ready...");
+
+ Thread.sleep(5 * 60 * 1000);
+ System.out.println("Server exiting");
+ System.exit(0);
+ }
+}
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/src/demo/hw/server/Server.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html Thu Jul 10 07:15:27 2008
@@ -0,0 +1,89 @@
+<html>
+<!--
+ 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.
+-->
+<head>
+<title>Hello World JavaScript Client Sample</title>
+<!-- Generate and retrieve a JavaScript client for the server. -->
+<!--
+<script type="text/javascript" src="/JSDemoService/JSDemoPort?js"></script>
+-->
+<script type="text/javascript">
+<!-- To simulate loading from a URL that isn't on the same host
+ we dynamically construct the script. Note that in the real world
+ you could hardcode a script element. -->
+
+function loadjs(filename) {
+ if (filetype=="js"){ //if filename is a external JavaScript file
+ var fileref=document.createElement('script')
+ fileref.setAttribute("type","text/javascript")
+ fileref.setAttribute("src", filename)
+}
+
+var jsurl = 'http://' + window.location.hostname + ':9000/JSDemoService/JSDemoPort?js';
+
+loadjs(jsurl);
+
+var Greeter = new apache_org_hello_world_soap_http_Greeter();
+
+var responseSpan;
+
+// This is the function called upon success.
+function sayHiResponse(response)
+{
+ responseSpan.firstChild.nodeValue = response.getResponseType();
+}
+
+// This is the function called for an error.
+
+function sayHiError(error)
+{
+ alert('error ' + error);
+}
+
+// This function is invoked from the button press to run the service.
+function invokeSayHi()
+{
+ responseSpan = document.getElementById('sayHiResponse');
+ responseSpan.firstChild.nodeValue = " - pending - ";
+ Greeter.sayHi(sayHiResponse, sayHiError);
+}
+</script>
+</head>
+<body>
+<h1>
+Hello World Sample
+</h1>
+<form>
+<div>
+ <table>
+ <tr>
+ <td>Run sayHi</td>
+ <td><input type="button"
+ value="invoke" name="sayHi"
+ onClick="invokeSayHi()">
+ </tr>
+ <tr>
+ <td>sayHi response</td>
+ <td><span id='sayHiResponse'>- not yet invoked -</span></td>
+ </tr>
+ </table>
+</div>
+</form>
+</body>
+</html>
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/staticContent/HelloWorld.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml Thu Jul 10 07:15:27 2008
@@ -0,0 +1,41 @@
+<?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: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/schemas/configuration/soap.xsd
+http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+
+">
+
+ <jaxws:endpoint
+ id="hello_world"
+ implementor="demo.hw.server.GreeterImpl"
+ wsdlLocation="WEB-INF/wsdl/hello_world.wsdl"
+ address="/hello_world">
+ <jaxws:features>
+ <bean class="org.apache.cxf.feature.LoggingFeature"/>
+ </jaxws:features>
+ </jaxws:endpoint>
+</beans>
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl?rev=675582&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl (added)
+++ cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl Thu Jul 10 07:15:27 2008
@@ -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="JSDemoService">
+ <wsdl:port binding="tns:Greeter_SOAPBinding" name="JSDemoPort">
+ <soap:address location="http://localhost:9000/JSDemoService/JSDemoPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/distribution/src/main/release/samples/js_browser_client_cross_url/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml