You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2005/11/03 06:01:00 UTC

svn commit: r330452 - in /webservices/axis/trunk/java/samples/xbeans: ./ StarWarsBindingImpl.java StarWarsTestCase.java build.xml starwars.wsdl starwars.xsd

Author: dims
Date: Wed Nov  2 21:00:57 2005
New Revision: 330452

URL: http://svn.apache.org/viewcvs?rev=330452&view=rev
Log:
Sample using Xmlbeans serializer/deserializer


Added:
    webservices/axis/trunk/java/samples/xbeans/
    webservices/axis/trunk/java/samples/xbeans/StarWarsBindingImpl.java
    webservices/axis/trunk/java/samples/xbeans/StarWarsTestCase.java
    webservices/axis/trunk/java/samples/xbeans/build.xml
    webservices/axis/trunk/java/samples/xbeans/starwars.wsdl
    webservices/axis/trunk/java/samples/xbeans/starwars.xsd

Added: webservices/axis/trunk/java/samples/xbeans/StarWarsBindingImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/samples/xbeans/StarWarsBindingImpl.java?rev=330452&view=auto
==============================================================================
--- webservices/axis/trunk/java/samples/xbeans/StarWarsBindingImpl.java (added)
+++ webservices/axis/trunk/java/samples/xbeans/StarWarsBindingImpl.java Wed Nov  2 21:00:57 2005
@@ -0,0 +1,41 @@
+/**
+ * StarWarsBindingImpl.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 16, 2005 (11:41:21 EDT) WSDL2Java emitter.
+ */
+
+package samples.xbeans;
+
+public class StarWarsBindingImpl implements samples.xbeans.StarWarsPortType{
+    com.superflaco.xbeans.Character stashed;
+    
+    public com.superflaco.xbeans.Character getChewbecca() throws java.rmi.RemoteException {
+        com.superflaco.xbeans.Character chewie =
+            com.superflaco.xbeans.Character.Factory.newInstance();
+        chewie.setName("Chewbacca");
+
+        com.superflaco.xbeans.System sys = com.superflaco.xbeans.System.Factory.newInstance();
+        sys.setName("WookieSector");
+        
+        chewie.setHome(sys);
+        chewie.setFaction("smuggler");
+        chewie.setEvil(false);
+        chewie.setJedi(false);
+        return chewie;
+    }
+
+    public com.superflaco.xbeans.Character stashChar(com.superflaco.xbeans.Character newChew) throws java.rmi.RemoteException {
+        if (stashed == null) {
+            stashed = getChewbecca();
+        }
+
+        if (newChew != null) {
+            System.out.println("old: " + stashed.toString());
+            System.out.println("new: " + newChew.toString());
+            stashed = newChew;
+        }
+        return stashed;
+    }
+
+}

Added: webservices/axis/trunk/java/samples/xbeans/StarWarsTestCase.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/samples/xbeans/StarWarsTestCase.java?rev=330452&view=auto
==============================================================================
--- webservices/axis/trunk/java/samples/xbeans/StarWarsTestCase.java (added)
+++ webservices/axis/trunk/java/samples/xbeans/StarWarsTestCase.java Wed Nov  2 21:00:57 2005
@@ -0,0 +1,50 @@
+/**
+ * StarWarsTestCase.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 16, 2005 (11:41:21 EDT) WSDL2Java emitter.
+ */
+
+package samples.xbeans;
+
+public class StarWarsTestCase extends junit.framework.TestCase {
+    public StarWarsTestCase(java.lang.String name) {
+        super(name);
+    }
+
+    /** TODO: Fix me
+    public void testStarWarsPortWSDL() throws Exception {
+        javax.xml.rpc.ServiceFactory serviceFactory = javax.xml.rpc.ServiceFactory.newInstance();
+        java.net.URL url = new java.net.URL(new samples.xbeans.StarWarsLocator().getStarWarsPortAddress() + "?WSDL");
+        javax.xml.rpc.Service service = serviceFactory.createService(url, new samples.xbeans.StarWarsLocator().getServiceName());
+        assertTrue(service != null);
+    }
+
+    **/
+    
+    public void test1StarWarsPortGetChewbecca() throws Exception {
+        samples.xbeans.StarWarsBindingStub binding;
+        try {
+            binding = (samples.xbeans.StarWarsBindingStub)
+                          new samples.xbeans.StarWarsLocator().getStarWarsPort();
+        }
+        catch (javax.xml.rpc.ServiceException jre) {
+            if(jre.getLinkedCause()!=null)
+                jre.getLinkedCause().printStackTrace();
+            throw new junit.framework.AssertionFailedError("JAX-RPC ServiceException caught: " + jre);
+        }
+        assertNotNull("binding is null", binding);
+
+        // Time out after a minute
+        binding.setTimeout(60000);
+
+        // Test operation
+        com.superflaco.xbeans.Character value = null;
+        value = binding.getChewbecca();
+        // TBD - validate results
+        
+        assertNotNull(value);
+        
+        System.out.println(value.toString());
+    }
+}

Added: webservices/axis/trunk/java/samples/xbeans/build.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/samples/xbeans/build.xml?rev=330452&view=auto
==============================================================================
--- webservices/axis/trunk/java/samples/xbeans/build.xml (added)
+++ webservices/axis/trunk/java/samples/xbeans/build.xml Wed Nov  2 21:00:57 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" ?>
+<!DOCTYPE project [
+        <!ENTITY properties SYSTEM "file:../../xmls/properties.xml">
+        <!ENTITY paths  SYSTEM "file:../../xmls/path_refs.xml">
+        <!ENTITY taskdefs SYSTEM "file:../../xmls/taskdefs.xml">
+        <!ENTITY taskdefs_post_compile SYSTEM "file:../../xmls/taskdefs_post_compile.xml">
+        <!ENTITY targets SYSTEM "file:../../xmls/targets.xml">
+]>
+
+<!-- ===================================================================
+<description>
+   Test/Sample Component file for Axis
+
+Notes:
+   This is a build file for use with the Jakarta Ant build tool.
+
+Prerequisites:
+
+   jakarta-ant from http://jakarta.apache.org
+
+Build Instructions:
+   To compile
+        ant compile
+   To execute
+        ant run
+
+Author:
+  Matt Seibert mseibert@us.ibm.com
+
+Copyright:
+  Copyright (c) 2002-2003 Apache Software Foundation.
+</description>
+==================================================================== -->
+
+<project default="compile">
+
+    <property name="axis.home" location="../.."/>
+    <property name="componentName" value="samples/xbeans"/>
+    &properties;
+    &paths;
+    &taskdefs;
+    &taskdefs_post_compile;
+    &targets;
+
+    <target name="clean">
+        <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}"/>
+        <delete dir="${build.dir}/classes/${componentName}"/>
+        <delete dir="${build.dir}/work/${componentName}"/>
+    </target>
+
+    <target name="copy" depends="setenv"/>
+
+    <target name="compile" depends="copy" if="xmlbeans.present">
+        <echo message="Compiling samples.xbeans"/>
+
+        <taskdef name="xmlbean" 
+              classname="org.apache.xmlbeans.impl.tool.XMLBean" 
+              classpathref="classpath"/>
+
+        <xmlbean
+              schema="${axis.home}/samples/xbeans/starwars.xsd"
+              classgendir="${build.dest}"
+              failonerror="true"
+              classpathref="classpath"/>
+
+        <wsdl2java url="${axis.home}/samples/xbeans/starwars.wsdl"
+            output="${axis.home}/build/work"
+            serverSide="yes"
+            testcase="no">
+            <mapping namespace="http://superflaco.com/" package="samples.xbeans"/>
+            <nsexclude namespace="http://superflaco.com/xbeans"/>
+        </wsdl2java>
+
+        <replace file="${build.dir}/work/${componentName}/deploy.wsdd"
+            token="BeanSerializerFactory"
+            value="xbeans.XmlBeanSerializerFactory">
+        </replace>
+        <replace file="${build.dir}/work/${componentName}/deploy.wsdd"
+            token="BeanDeserializerFactory"
+            value="xbeans.XmlBeanDeserializerFactory">
+        </replace>
+        <replace file="${build.dir}/work/${componentName}/StarWarsBindingStub.java"
+            token="BeanSerializerFactory"
+            value="xbeans.XmlBeanSerializerFactory">
+        </replace>
+        <replace file="${build.dir}/work/${componentName}/StarWarsBindingStub.java"
+            token="BeanDeserializerFactory"
+            value="xbeans.XmlBeanDeserializerFactory">
+        </replace>
+        
+        <copy todir="${build.dir}/work/samples/xbeans" overwrite="yes">
+            <fileset dir="${axis.home}/samples/xbeans">
+                <include name="*Test*.java"/>
+                <include name="*Impl.java"/>
+            </fileset>
+        </copy>
+
+        <javac srcdir="${build.dir}/work" destdir="${build.dest}" debug="${debug}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}">
+            <classpath refid="classpath"/>
+            <include name="samples/xbeans/*.java"/>
+            <exclude name="samples/xbeans/*TestCase*" unless="junit.present"/>
+        </javac>
+    </target>
+
+    <target name="run">
+        <antcall target="execute-Component"/>
+    </target>
+
+</project>

Added: webservices/axis/trunk/java/samples/xbeans/starwars.wsdl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/samples/xbeans/starwars.wsdl?rev=330452&view=auto
==============================================================================
--- webservices/axis/trunk/java/samples/xbeans/starwars.wsdl (added)
+++ webservices/axis/trunk/java/samples/xbeans/starwars.wsdl Wed Nov  2 21:00:57 2005
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://superflaco.com/" xmlns:flaco="http://superflaco.com/xbeans" targetNamespace="http://superflaco.com/">
+	<types>
+		<xs:schema>
+			<xs:import namespace="http://superflaco.com/xbeans" schemaLocation="starwars.xsd"/>
+		</xs:schema>
+	</types>
+	<message name="getChewbeccaRequest"/>
+	<message name="getChewbeccaResponse">
+		<part name="response" element="flaco:character"/>
+	</message>
+	<message name="stashCharRequest">
+		<part name="request" element="flaco:character"/>
+	</message>
+	<message name="stashCharResponse">
+		<part name="response" element="flaco:character"/>
+	</message>
+	<portType name="StarWarsPortType">
+		<operation name="getChewbecca">
+			<input message="tns:getChewbeccaRequest"/>
+			<output message="tns:getChewbeccaResponse"/>
+		</operation>
+		<operation name="stashChar">
+			<input message="tns:stashCharRequest"/>
+			<output message="tns:stashCharResponse"/>
+		</operation>
+	</portType>
+	<binding name="StarWarsBinding" type="tns:StarWarsPortType">
+		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+		<operation name="getChewbecca">
+			<input>
+				<soap:body use="literal"/>
+			</input>
+			<output>
+				<soap:body use="literal"/>
+			</output>
+		</operation>
+		<operation name="stashChar">
+			<input>
+				<soap:body use="literal"/>
+			</input>
+			<output>
+				<soap:body use="literal"/>
+			</output>
+		</operation>
+	</binding>
+	<service name="StarWars">
+		<port name="StarWarsPort" binding="tns:StarWarsBinding">
+			<soap:address location="http://localhost:8080/axis/services/StarWarsPort"/>
+		</port>
+	</service>
+</definitions>

Added: webservices/axis/trunk/java/samples/xbeans/starwars.xsd
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/samples/xbeans/starwars.xsd?rev=330452&view=auto
==============================================================================
--- webservices/axis/trunk/java/samples/xbeans/starwars.xsd (added)
+++ webservices/axis/trunk/java/samples/xbeans/starwars.xsd Wed Nov  2 21:00:57 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:flaco="http://superflaco.com/xbeans" targetNamespace="http://superflaco.com/xbeans" elementFormDefault="qualified">
+	<element name="character" type="flaco:character"/>
+	<element name="system" type="flaco:system"/>
+	<complexType name="character">
+		<sequence>
+			<element name="name" type="string"/>
+			<element name="home" type="flaco:system"/>
+			<element name="faction" type="string"/>
+			<element name="evil" type="boolean"/>
+			<element name="jedi" type="boolean"/>
+		</sequence>
+	</complexType>
+	<complexType name="system">
+		<sequence>
+			<element name="name" type="string"/>
+			<element name="planet" type="string" maxOccurs="unbounded"/>
+			<element name="star" type="string" maxOccurs="unbounded"/>
+		</sequence>
+	</complexType>
+</schema>