<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FWeb_Services_SOA%2FRPC</id>
		<title>Java/Web Services SOA/RPC - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FWeb_Services_SOA%2FRPC"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Web_Services_SOA/RPC&amp;action=history"/>
		<updated>2026-04-07T07:47:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Web_Services_SOA/RPC&amp;diff=9231&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Web_Services_SOA/RPC&amp;diff=9231&amp;oldid=prev"/>
				<updated>2010-06-01T07:27:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:27, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Web_Services_SOA/RPC&amp;diff=9230&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Web_Services_SOA/RPC&amp;diff=9230&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== The RPC-Literal style binding ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Hello World Demo using RPC-Literal Style&lt;br /&gt;
========================================&lt;br /&gt;
This version of Helloe World demonstrates the use&lt;br /&gt;
of the RPC-Literal style binding.&lt;br /&gt;
Please review the README in the samples directory before&lt;br /&gt;
continuing.&lt;br /&gt;
&lt;br /&gt;
Prerequisites&lt;br /&gt;
-------------&lt;br /&gt;
If your environment already includes cxf-manifest-incubator.jar on the&lt;br /&gt;
CLASSPATH, and the JDK and ant bin directories on the PATH&lt;br /&gt;
it is not necessary to set the environment as described in&lt;br /&gt;
the samples directory&amp;quot;s README.  If your environment is not&lt;br /&gt;
properly configured, or if you are planning on using wsdl2java,&lt;br /&gt;
javac, and java to build and run the demos, you must set the&lt;br /&gt;
environment.&lt;br /&gt;
&lt;br /&gt;
Building and running the demo using ant&lt;br /&gt;
---------------------------------------&lt;br /&gt;
From the samples/hello_world_RPCLit directory, the ant build script&lt;br /&gt;
can be used to build and run the demo.&lt;br /&gt;
Using either UNIX or Windows:&lt;br /&gt;
  ant build&lt;br /&gt;
  ant server &lt;br /&gt;
  ant client&lt;br /&gt;
    &lt;br /&gt;
To remove the code generated from the WSDL file and the .class&lt;br /&gt;
files, run:&lt;br /&gt;
  ant clean&lt;br /&gt;
&lt;br /&gt;
Building the demo using wsdl2java and javac&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
From the samples/hello_world_RPCLit directory, first create the target&lt;br /&gt;
directory build/classes and then generate code from the WSDL file.&lt;br /&gt;
For UNIX:&lt;br /&gt;
  mkdir -p build/classes&lt;br /&gt;
  wsdl2java -d build/classes -compile ./wsdl/hello_world_RPCLit.wsdl&lt;br /&gt;
For Windows:&lt;br /&gt;
  mkdir build\classes&lt;br /&gt;
    Must use back slashes.&lt;br /&gt;
  wsdl2java -d build\classes -compile .\wsdl\hello_world_RPCLit.wsdl&lt;br /&gt;
    May use either forward or back slashes.&lt;br /&gt;
Now compile the provided client and server applications with the commands:&lt;br /&gt;
For UNIX:  &lt;br /&gt;
  &lt;br /&gt;
  export CLASSPATH=$CLASSPATH:$CXF_HOME/lib/cxf-manifest-incubator.jar:./build/classes&lt;br /&gt;
  javac -d build/classes src/demo/hwRPCLit/client/*.java&lt;br /&gt;
  javac -d build/classes src/demo/hwRPCLit/server/*.java&lt;br /&gt;
For Windows:&lt;br /&gt;
  set classpath=%classpath%;%CXF_HOME%\lib\cxf-manifest-incubator.jar;.\build\classes&lt;br /&gt;
  javac -d build\classes src\demo\hwRPCLit\client\*.java&lt;br /&gt;
  javac -d build\classes src\demo\hwRPCLit\server\*.java&lt;br /&gt;
&lt;br /&gt;
Running the demo using java&lt;br /&gt;
---------------------------&lt;br /&gt;
From the samples/hello_world_RPCLit directory run the following &lt;br /&gt;
commands. They are entered on a single command line:&lt;br /&gt;
For UNIX (must use forward slashes):&lt;br /&gt;
    java -Djava.util.logging.config.file=$CXF_HOME/etc/logging.properties&lt;br /&gt;
         demo.hwRPCLit.server.Server &amp;amp;&lt;br /&gt;
    java -Djava.util.logging.config.file=$CXF_HOME/etc/logging.properties&lt;br /&gt;
         demo.hwRPCLit.client.Client ./wsdl/hello_world_RPCLit.wsdl&lt;br /&gt;
The server process starts in the background.  After running the client,&lt;br /&gt;
use the kill command to terminate the server process.&lt;br /&gt;
For Windows (may use either forward or back slashes):&lt;br /&gt;
  start &lt;br /&gt;
    java -Djava.util.logging.config.file=%CXF_HOME%\etc\logging.properties&lt;br /&gt;
         demo.hwRPCLit.server.Server&lt;br /&gt;
    java -Djava.util.logging.config.file=%CXF_HOME%\etc\logging.properties&lt;br /&gt;
       demo.hwRPCLit.client.Client .\wsdl\hello_world_RPCLit.wsdl&lt;br /&gt;
A new command windows opens for the server process.  After running the&lt;br /&gt;
client, terminate the server process by issuing Ctrl-C in its command window.&lt;br /&gt;
To remove the code generated from the WSDL file and the .class&lt;br /&gt;
files, either delete the build directory and its contents or run:&lt;br /&gt;
  ant clean&lt;br /&gt;
&lt;br /&gt;
Building and running the demo in a servlet container&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
From the samples/hello_world_RPCLit directory, the ant build script&lt;br /&gt;
can be used to create the war file that is deployed into the&lt;br /&gt;
servlet container.&lt;br /&gt;
Build the war file with the command:&lt;br /&gt;
  ant war&lt;br /&gt;
    &lt;br /&gt;
Preparing deploy to APACHE TOMCAT&lt;br /&gt;
* set CATALINA_HOME environment to your TOMCAT home directory&lt;br /&gt;
    &lt;br /&gt;
Deploy the application into APACHE TOMCAT with the commond:&lt;br /&gt;
[NOTE] This step will check if the cxf jars present in Tomcat, &lt;br /&gt;
       if not, it will automatically copy all the jars into CATALINA_HOME/shared/lib&lt;br /&gt;
  &lt;br /&gt;
  ant deploy -Dtomcat=true&lt;br /&gt;
The servlet container will extract the war and deploy the application.&lt;br /&gt;
&lt;br /&gt;
Using ant, run the client application with the command:&lt;br /&gt;
  ant client-servlet -Dbase.url=http://localhost:#&lt;br /&gt;
Where # is the TCP/IP port used by the servlet container,&lt;br /&gt;
e.g., 8080.&lt;br /&gt;
Or&lt;br /&gt;
  ant client-servlet -Dhost=localhost -Dport=8080&lt;br /&gt;
You can ignore the -Dhost and -Dport if your tomcat setup is same, i.e ant client-servlet&lt;br /&gt;
Using java, run the client application with the command:&lt;br /&gt;
  For UNIX:&lt;br /&gt;
    &lt;br /&gt;
    java -Djava.util.logging.config.file=$CXF_HOME/etc/logging.properties&lt;br /&gt;
         demo.hwRPCLit.client.Client http://localhost:#/helloworld/services/hello_world_rpclit?wsdl&lt;br /&gt;
  For Windows:&lt;br /&gt;
    java -Djava.util.logging.config.file=%CXF_HOME%\etc\logging.properties&lt;br /&gt;
       demo.hwRPCLit.client.Client http://localhost:#/helloworld/services/hello_world_rpclit?wsdl&lt;br /&gt;
Where # is the TCP/IP port used by the servlet container,&lt;br /&gt;
e.g., 8080.&lt;br /&gt;
Undeploy the application from the APACHE TOMCAT with the command:&lt;br /&gt;
   ant undeploy -Dtomcat=true&lt;br /&gt;
&lt;br /&gt;
Running demo with HTTP GET&lt;br /&gt;
----------------------------------------------------&lt;br /&gt;
APACHE CXF support HTTP GET to invoke the service, instead of running &lt;br /&gt;
   ant client&lt;br /&gt;
you can use &lt;br /&gt;
   ant client.get &lt;br /&gt;
to invoke the service with simple HttpURLConnection, or you can even&lt;br /&gt;
use your favoriate browser to get the results back.&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////&lt;br /&gt;
/**&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 * or more contributor license agreements. See the NOTICE file&lt;br /&gt;
 * distributed with this work for additional information&lt;br /&gt;
 * regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
 * to you under the Apache License, Version 2.0 (the&lt;br /&gt;
 * &amp;quot;License&amp;quot;); you may not use this file except in compliance&lt;br /&gt;
 * with the License. You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 * http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing,&lt;br /&gt;
 * software distributed under the License is distributed on an&lt;br /&gt;
 * &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY&lt;br /&gt;
 * KIND, either express or implied. See the License for the&lt;br /&gt;
 * specific language governing permissions and limitations&lt;br /&gt;
 * under the License.&lt;br /&gt;
 */&lt;br /&gt;
package demo.hwRPCLit.client;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
import org.apache.hello_world_rpclit.GreeterRPCLit;&lt;br /&gt;
import org.apache.hello_world_rpclit.SOAPServiceRPCLit;&lt;br /&gt;
import org.apache.hello_world_rpclit.types.MyComplexStruct;&lt;br /&gt;
public final class Client {&lt;br /&gt;
    private static final QName SERVICE_NAME = &lt;br /&gt;
        new QName(&amp;quot;http://apache.org/hello_world_rpclit&amp;quot;, &amp;quot;SOAPServiceRPCLit&amp;quot;);&lt;br /&gt;
    private static final QName PORT_NAME = &lt;br /&gt;
        new QName(&amp;quot;http://apache.org/hello_world_rpclit&amp;quot;, &amp;quot;SoapPortRPCLit&amp;quot;);&lt;br /&gt;
    private Client() {&lt;br /&gt;
    } &lt;br /&gt;
    public static void main(String[] args) throws Exception {&lt;br /&gt;
        if (args.length == 0) { &lt;br /&gt;
            System.out.println(&amp;quot;please specify wsdl&amp;quot;);&lt;br /&gt;
            System.exit(1); &lt;br /&gt;
        }&lt;br /&gt;
        URL wsdlURL;&lt;br /&gt;
        File wsdlFile = new File(args[0]);&lt;br /&gt;
        if (wsdlFile.exists()) {&lt;br /&gt;
            wsdlURL = wsdlFile.toURL();&lt;br /&gt;
        } else {&lt;br /&gt;
            wsdlURL = new URL(args[0]);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        SOAPServiceRPCLit service = new SOAPServiceRPCLit(wsdlURL, SERVICE_NAME);&lt;br /&gt;
        GreeterRPCLit greeter = (GreeterRPCLit)service.getPort(PORT_NAME, GreeterRPCLit.class);&lt;br /&gt;
        System.out.println(&amp;quot;Invoking sayHi...&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;server responded with: &amp;quot; + greeter.sayHi());&lt;br /&gt;
        System.out.println(); &lt;br /&gt;
        System.out.println(&amp;quot;Invoking greetMe...&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;server responded with: &amp;quot; + greeter.greetMe(System.getProperty(&amp;quot;user.name&amp;quot;)));&lt;br /&gt;
        System.out.println();&lt;br /&gt;
        &lt;br /&gt;
        MyComplexStruct argument = new MyComplexStruct();&lt;br /&gt;
        MyComplexStruct retVal = null;&lt;br /&gt;
        String str1 = &amp;quot;this is element 1&amp;quot;; &lt;br /&gt;
        String str2 = &amp;quot;this is element 2&amp;quot;; &lt;br /&gt;
        int int1 = 42; &lt;br /&gt;
        argument.setElem1(str1);&lt;br /&gt;
        argument.setElem2(str2);&lt;br /&gt;
        argument.setElem3(int1);&lt;br /&gt;
        System.out.println(&amp;quot;Invoking sendReceiveData...&amp;quot;);&lt;br /&gt;
        retVal = greeter.sendReceiveData(argument);&lt;br /&gt;
        System.out.println(&amp;quot;Response from sendReceiveData operation :&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;Element-1 : &amp;quot; + retVal.getElem1());&lt;br /&gt;
        System.out.println(&amp;quot;Element-2 : &amp;quot; + retVal.getElem2());&lt;br /&gt;
        System.out.println(&amp;quot;Element-3 : &amp;quot; + retVal.getElem3());&lt;br /&gt;
        System.out.println();&lt;br /&gt;
&lt;br /&gt;
        System.exit(0); &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////&lt;br /&gt;
/**&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 * or more contributor license agreements. See the NOTICE file&lt;br /&gt;
 * distributed with this work for additional information&lt;br /&gt;
 * regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
 * to you under the Apache License, Version 2.0 (the&lt;br /&gt;
 * &amp;quot;License&amp;quot;); you may not use this file except in compliance&lt;br /&gt;
 * with the License. You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 * http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing,&lt;br /&gt;
 * software distributed under the License is distributed on an&lt;br /&gt;
 * &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY&lt;br /&gt;
 * KIND, either express or implied. See the License for the&lt;br /&gt;
 * specific language governing permissions and limitations&lt;br /&gt;
 * under the License.&lt;br /&gt;
 */&lt;br /&gt;
package demo.hwRPCLit.client;&lt;br /&gt;
import java.io.ByteArrayOutputStream;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.net.HttpURLConnection;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.util.Properties;&lt;br /&gt;
import javax.xml.transform.OutputKeys;&lt;br /&gt;
import javax.xml.transform.Source;&lt;br /&gt;
import javax.xml.transform.Transformer;&lt;br /&gt;
import javax.xml.transform.TransformerFactory;&lt;br /&gt;
import javax.xml.transform.stream.StreamResult;&lt;br /&gt;
import javax.xml.transform.stream.StreamSource;&lt;br /&gt;
public final class Get {&lt;br /&gt;
    private Get() {&lt;br /&gt;
    } &lt;br /&gt;
    public static void main(String args[]) throws Exception {&lt;br /&gt;
        // Sent HTTP GET request to invoke sayHi&lt;br /&gt;
        String target = &amp;quot;http://localhost:9000/SoapContext/SoapPort/sayHi&amp;quot;;&lt;br /&gt;
        URL url = new URL(target);&lt;br /&gt;
        HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();&lt;br /&gt;
        httpConnection.connect();&lt;br /&gt;
        System.out.println(&amp;quot;Invoking server through HTTP GET to invoke sayHi&amp;quot;);&lt;br /&gt;
        InputStream in = httpConnection.getInputStream();&lt;br /&gt;
        StreamSource source = new StreamSource(in);&lt;br /&gt;
        printSource(source);&lt;br /&gt;
        // Sent HTTP GET request to invoke greetMe FAULT&lt;br /&gt;
        target = &amp;quot;http://localhost:9000/SoapContext/SoapPort/greetMe/me/CXF&amp;quot;;&lt;br /&gt;
        url = new URL(target);&lt;br /&gt;
        httpConnection = (HttpURLConnection) url.openConnection();&lt;br /&gt;
        httpConnection.connect();&lt;br /&gt;
        System.out.println(&amp;quot;Invoking server through HTTP GET to invoke greetMe&amp;quot;);&lt;br /&gt;
        try {&lt;br /&gt;
            in = httpConnection.getInputStream();&lt;br /&gt;
            source = new StreamSource(in);&lt;br /&gt;
            printSource(source);&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            System.err.println(&amp;quot;GreetMe Fault: &amp;quot; + e.getMessage());&lt;br /&gt;
        }&lt;br /&gt;
        InputStream err = httpConnection.getErrorStream();&lt;br /&gt;
        source = new StreamSource(err);&lt;br /&gt;
        printSource(source);&lt;br /&gt;
        // Sent HTTP GET request to invoke greetMe&lt;br /&gt;
        target = &amp;quot;http://localhost:9000/SoapContext/SoapPort/greetMe/in/CXF&amp;quot;;&lt;br /&gt;
        url = new URL(target);&lt;br /&gt;
        httpConnection = (HttpURLConnection) url.openConnection();&lt;br /&gt;
        httpConnection.connect();&lt;br /&gt;
        System.out.println(&amp;quot;Invoking server through HTTP GET to invoke greetMe&amp;quot;);&lt;br /&gt;
        in = httpConnection.getInputStream();&lt;br /&gt;
        source = new StreamSource(in);&lt;br /&gt;
        printSource(source);&lt;br /&gt;
    }&lt;br /&gt;
    private static void printSource(Source source) {&lt;br /&gt;
        try {&lt;br /&gt;
            ByteArrayOutputStream bos = new ByteArrayOutputStream();&lt;br /&gt;
            StreamResult sr = new StreamResult(bos);&lt;br /&gt;
            Transformer trans = TransformerFactory.newInstance().newTransformer();&lt;br /&gt;
            Properties oprops = new Properties();&lt;br /&gt;
            oprops.put(OutputKeys.OMIT_XML_DECLARATION, &amp;quot;yes&amp;quot;);&lt;br /&gt;
            trans.setOutputProperties(oprops);&lt;br /&gt;
            trans.transform(source, sr);&lt;br /&gt;
            System.out.println();&lt;br /&gt;
            System.out.println(&amp;quot;**** Response ******&amp;quot;);&lt;br /&gt;
            System.out.println();&lt;br /&gt;
            System.out.println(bos.toString());&lt;br /&gt;
            bos.close();&lt;br /&gt;
            System.out.println();&lt;br /&gt;
        } catch (Exception e) {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
        }&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
///////////////////////////////////////////////////////////////////////&lt;br /&gt;
/**&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 * or more contributor license agreements. See the NOTICE file&lt;br /&gt;
 * distributed with this work for additional information&lt;br /&gt;
 * regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
 * to you under the Apache License, Version 2.0 (the&lt;br /&gt;
 * &amp;quot;License&amp;quot;); you may not use this file except in compliance&lt;br /&gt;
 * with the License. You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 * http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing,&lt;br /&gt;
 * software distributed under the License is distributed on an&lt;br /&gt;
 * &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY&lt;br /&gt;
 * KIND, either express or implied. See the License for the&lt;br /&gt;
 * specific language governing permissions and limitations&lt;br /&gt;
 * under the License.&lt;br /&gt;
 */&lt;br /&gt;
package demo.hwRPCLit.server;&lt;br /&gt;
import java.util.logging.Logger;&lt;br /&gt;
import org.apache.hello_world_rpclit.GreeterRPCLit;&lt;br /&gt;
import org.apache.hello_world_rpclit.types.MyComplexStruct;&lt;br /&gt;
@javax.jws.WebService(portName = &amp;quot;SoapPortRPCLit&amp;quot;, serviceName = &amp;quot;SOAPServiceRPCLit&amp;quot;, &lt;br /&gt;
                      targetNamespace = &amp;quot;http://apache.org/hello_world_rpclit&amp;quot;, &lt;br /&gt;
                      endpointInterface = &amp;quot;org.apache.hello_world_rpclit.GreeterRPCLit&amp;quot;)&lt;br /&gt;
public class GreeterRPCLitImpl implements GreeterRPCLit {&lt;br /&gt;
    private static final Logger LOG = Logger.getLogger(GreeterRPCLitImpl.class.getPackage().getName());&lt;br /&gt;
    public String greetMe(String me) {&lt;br /&gt;
        LOG.info(&amp;quot;Executing operation greetMe&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;Executing operation greetMe&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;Message received: &amp;quot; + me + &amp;quot;\n&amp;quot;);&lt;br /&gt;
        return &amp;quot;Hello &amp;quot; + me;&lt;br /&gt;
    }&lt;br /&gt;
    public String sayHi() {&lt;br /&gt;
        LOG.info(&amp;quot;Executing operation sayHi&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;Executing operation sayHi&amp;quot; + &amp;quot;\n&amp;quot;);&lt;br /&gt;
        return &amp;quot;Bonjour&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    public MyComplexStruct sendReceiveData(MyComplexStruct in) {&lt;br /&gt;
        LOG.info(&amp;quot;Executing operation sendReceiveData&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;Executing operation sendReceiveData&amp;quot;);&lt;br /&gt;
        System.out.println(&amp;quot;Received struct with values :\nElement-1 : &amp;quot; + in.getElem1() + &amp;quot;\nElement-2 : &amp;quot;&lt;br /&gt;
                           + in.getElem2() + &amp;quot;\nElement-3 : &amp;quot; + in.getElem3() + &amp;quot;\n&amp;quot;);&lt;br /&gt;
        return in;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////&lt;br /&gt;
/**&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
 * or more contributor license agreements. See the NOTICE file&lt;br /&gt;
 * distributed with this work for additional information&lt;br /&gt;
 * regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
 * to you under the Apache License, Version 2.0 (the&lt;br /&gt;
 * &amp;quot;License&amp;quot;); you may not use this file except in compliance&lt;br /&gt;
 * with the License. You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 * http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing,&lt;br /&gt;
 * software distributed under the License is distributed on an&lt;br /&gt;
 * &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY&lt;br /&gt;
 * KIND, either express or implied. See the License for the&lt;br /&gt;
 * specific language governing permissions and limitations&lt;br /&gt;
 * under the License.&lt;br /&gt;
 */&lt;br /&gt;
package demo.hwRPCLit.server;&lt;br /&gt;
import javax.xml.ws.Endpoint;&lt;br /&gt;
public class Server {&lt;br /&gt;
    protected Server() throws Exception {&lt;br /&gt;
        System.out.println(&amp;quot;Starting Server&amp;quot;);&lt;br /&gt;
        Object implementor = new GreeterRPCLitImpl();&lt;br /&gt;
        String address = &amp;quot;http://localhost:9000/SoapContext/SoapPort&amp;quot;;&lt;br /&gt;
        Endpoint.publish(address, implementor);&lt;br /&gt;
    }&lt;br /&gt;
    public static void main(String args[]) throws Exception {&lt;br /&gt;
        new Server();&lt;br /&gt;
        System.out.println(&amp;quot;Server ready...&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        Thread.sleep(5 * 60 * 1000); &lt;br /&gt;
        System.out.println(&amp;quot;Server exiting&amp;quot;);&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Licensed to the Apache Software Foundation (ASF) under one&lt;br /&gt;
  or more contributor license agreements. See the NOTICE file&lt;br /&gt;
  distributed with this work for additional information&lt;br /&gt;
  regarding copyright ownership. The ASF licenses this file&lt;br /&gt;
  to you under the Apache License, Version 2.0 (the&lt;br /&gt;
  &amp;quot;License&amp;quot;); you may not use this file except in compliance&lt;br /&gt;
  with the License. You may obtain a copy of the License at&lt;br /&gt;
 &lt;br /&gt;
  http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 &lt;br /&gt;
  Unless required by applicable law or agreed to in writing,&lt;br /&gt;
  software distributed under the License is distributed on an&lt;br /&gt;
  &amp;quot;AS IS&amp;quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY&lt;br /&gt;
  KIND, either express or implied. See the License for the&lt;br /&gt;
  specific language governing permissions and limitations&lt;br /&gt;
  under the License.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;wsdl:definitions name=&amp;quot;HelloWorld&amp;quot; targetNamespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; &lt;br /&gt;
    xmlns=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:soap=&amp;quot;http://schemas.xmlsoap.org/wsdl/soap/&amp;quot; &lt;br /&gt;
    xmlns:tns=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot;&lt;br /&gt;
    xmlns:x1=&amp;quot;http://apache.org/hello_world_rpclit/types&amp;quot;&lt;br /&gt;
    xmlns:wsdl=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot; &lt;br /&gt;
    xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:types&amp;gt;&lt;br /&gt;
        &amp;lt;schema targetNamespace=&amp;quot;http://apache.org/hello_world_rpclit/types&amp;quot; &lt;br /&gt;
            xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;complexType name=&amp;quot;myComplexStruct&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;sequence&amp;gt;&lt;br /&gt;
                &amp;lt;element name=&amp;quot;elem1&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;element name=&amp;quot;elem2&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;element name=&amp;quot;elem3&amp;quot; type=&amp;quot;xsd:int&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/sequence&amp;gt;&lt;br /&gt;
            &amp;lt;/complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/schema&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:types&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:message name=&amp;quot;sayHiRequest&amp;quot;/&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:message name=&amp;quot;sayHiResponse&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:part type=&amp;quot;xsd:string&amp;quot; name=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:message&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:message name=&amp;quot;greetMeRequest&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:part type=&amp;quot;xsd:string&amp;quot; name=&amp;quot;in&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:message&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:message name=&amp;quot;greetMeResponse&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:part type=&amp;quot;xsd:string&amp;quot; name=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:message&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:message name=&amp;quot;sendReceiveDataRequest&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:part type=&amp;quot;x1:myComplexStruct&amp;quot; name=&amp;quot;in&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:message&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:message name=&amp;quot;sendReceiveDataResponse&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:part type=&amp;quot;x1:myComplexStruct&amp;quot; name=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:message&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:portType name=&amp;quot;GreeterRPCLit&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:operation name=&amp;quot;sayHi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:input message=&amp;quot;tns:sayHiRequest&amp;quot; name=&amp;quot;sayHiRequest&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:output message=&amp;quot;tns:sayHiResponse&amp;quot; name=&amp;quot;sayHiResponse&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:operation name=&amp;quot;greetMe&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:input message=&amp;quot;tns:greetMeRequest&amp;quot; name=&amp;quot;greetMeRequest&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:output message=&amp;quot;tns:greetMeResponse&amp;quot; name=&amp;quot;greetMeResponse&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:operation name=&amp;quot;sendReceiveData&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:input message=&amp;quot;tns:sendReceiveDataRequest&amp;quot; name=&amp;quot;SendReceiveDataRequest&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:output message=&amp;quot;tns:sendReceiveDataResponse&amp;quot; name=&amp;quot;SendReceiveDataResponse&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:portType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:binding name=&amp;quot;Greeter_SOAPBinding_RPCLit&amp;quot; type=&amp;quot;tns:GreeterRPCLit&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
        &amp;lt;soap:binding style=&amp;quot;rpc&amp;quot; transport=&amp;quot;http://schemas.xmlsoap.org/soap/http&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;wsdl:operation name=&amp;quot;sayHi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:operation soapAction=&amp;quot;&amp;quot; style=&amp;quot;rpc&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:input&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body namespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/wsdl:input&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:output&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body namespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/wsdl:output&amp;gt;&lt;br /&gt;
        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;wsdl:operation name=&amp;quot;greetMe&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:operation soapAction=&amp;quot;&amp;quot; style=&amp;quot;rpc&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:input&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body namespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/wsdl:input&amp;gt;&lt;br /&gt;
            &amp;lt;wsdl:output&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body namespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/wsdl:output&amp;gt;&lt;br /&gt;
        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;wsdl:operation name=&amp;quot;sendReceiveData&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:operation soapAction=&amp;quot;&amp;quot; style=&amp;quot;rpc&amp;quot;/&amp;gt;&lt;br /&gt;
               &amp;lt;wsdl:input&amp;gt;&lt;br /&gt;
                   &amp;lt;soap:body namespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
               &amp;lt;/wsdl:input&amp;gt;&lt;br /&gt;
               &amp;lt;wsdl:output&amp;gt;&lt;br /&gt;
                   &amp;lt;soap:body namespace=&amp;quot;http://apache.org/hello_world_rpclit&amp;quot; use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
               &amp;lt;/wsdl:output&amp;gt;   &lt;br /&gt;
        &amp;lt;/wsdl:operation&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:binding&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;wsdl:service name=&amp;quot;SOAPServiceRPCLit&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;wsdl:port binding=&amp;quot;tns:Greeter_SOAPBinding_RPCLit&amp;quot; name=&amp;quot;SoapPortRPCLit&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:address location=&amp;quot;http://localhost:9000/SoapContext/SoapPort&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/wsdl:port&amp;gt;&lt;br /&gt;
    &amp;lt;/wsdl:service&amp;gt;&lt;br /&gt;
&amp;lt;/wsdl:definitions&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>