<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Feb 18, 2013 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache Wink - Frequently Asked Questions</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20130218" />
    <meta http-equiv="Content-Language" content="en" />
                                                    
<link rel="shortcut icon" href="./images/wink2.ico"/>
                                                        
<style type="text/css" media="all">@import url(css/site.css);</style>
                      
  </head>
  <body class="composite">
    <div id="banner">
                  <a href="http://incubator.apache.org/wink/" id="bannerLeft">
                                                <img src="images/wink2-s.png" alt="Apache Wink" />
                </a>
                        <a href="http://incubator.apache.org" id="bannerRight">
                                        <img src="http://incubator.apache.org/images/apache-incubator-logo.png" alt="Apache Incubator" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                
                <div class="xleft">
                                  <a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a>
                &gt;
                              <a href="http://incubator.apache.org" class="externalLink" title="Incubator">Incubator</a>
                &gt;
                              <a href="http://incubator.apache.org/wink" class="externalLink" title="Wink">Wink</a>
                  </div>
            <div class="xright">                    <a href="http://svn.apache.org/viewvc/incubator/wink/trunk" class="externalLink" title="SVN">SVN</a>
            |
                        <a href="http://cwiki.apache.org/confluence/display/WINK/Index" class="externalLink" title="Wiki">Wiki</a>
            |
                        <a href="http://issues.apache.org/jira/browse/WINK" class="externalLink" title="Jira">Jira</a>
              
                
                &nbsp;| <span id="publishDate">Last Published: 2013-02-18</span>
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                
                                <h5>Main</h5>
                  <ul>
                  <li class="none">
                          <a href="./index.html" title="Introduction">Introduction</a>
            </li>
                  <li class="none">
                          <a href="./news.html" title="News">News</a>
            </li>
                  <li class="none">
                          <a href="./downloads.html" title="Downloads">Downloads</a>
            </li>
                  <li class="none">
                          <a href="./documentation.html" title="Documentation">Documentation</a>
            </li>
                  <li class="none">
                          <a href="./community.html" title="Community">Community</a>
            </li>
                  <li class="none">
                          <a href="./faqs.html" title="FAQ">FAQ</a>
            </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                   
                
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <!-- 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. --><div class="section"><h2><a name="top">Frequently Asked Questions</a><a name="Frequently_Asked_Questions"></a></h2><p><b>General</b></p><ol style="list-style-type: decimal"><li><a href="#sdk-examples">Where can I find examples for using Wink?</a></li><li><a href="#sdk-spring">Does Wink have an integration with spring? Can I expose my REST services using Spring Remoting?</a></li><li><a href="#sdk-struts">Is there an integration with Struts?</a></li><li><a href="#sdk-struts-usage">Can Wink be used in the same WAR with Struts?</a></li><li><a href="#sdk-tested-with-other-clients">Have you tested consuming REST resources developed using Wink from a REST client developed using other tools?</a></li><li><a href="#sdk-query-parameters">Does Wink query parameters?</a></li><li><a href="#sdk-ide-plugin">Are there any plans for developing an IDE plugin wrapper for Wink?</a></li></ol><p><b>Building the Apache Wink</b></p><ol style="list-style-type: decimal"><li><a href="#maven-version">What version of Maven is used to build Wink?</a></li><li><a href="#maven-sources">Where can I read about Maven?</a></li><li><a href="#build-oom">I am getting an OutOfMemoryException when performing a full build</a></li><li><a href="#build-offline">Can I build the sources if I am not connected to the network?</a></li><li><a href="#build-tests">Some tests fail during the build. Where can I see what happened?</a></li></ol></div><div class="section"><h2>General<a name="General"></a></h2><dl><dt><a name="sdk-examples">Where can I find examples for using Wink?</a></dt><dd> 
				<p> 
					Wink distributions comes bundled with several examples ilustarting how to use the server and client. <br /></br>
					All the examples are located in the <tt>Wink/examples</tt> directory of the distribution zip.
				</p> 
			<hr /></dd><dt><a name="sdk-spring">Does Wink have an integration with spring? Can I expose my REST services using Spring Remoting?</a></dt><dd> 
				<p> 
					Yes, it provides an extension module with the Spring integration. 
					However, Wink doesn't use Spring Remoting.
				</p> 
			<hr /></dd><dt><a name="sdk-struts">Is there an integration with Struts?</a></dt><dd> 
				<p> 
					Wink does not have an integration with struts.
				</p> 
			<hr /></dd><dt><a name="sdk-struts-usage">Can Wink be used in the same WAR with Struts?</a></dt><dd> 
				<p> 
					Yes, Wink and the code you develop over it can be used inside any WAR.
				</p> 
			<hr /></dd><dt><a name="sdk-tested-with-other-clients">Have you tested consuming REST resources developed using Wink from a REST client developed using other tools?</a></dt><dd> 
				<p> 
					Sure. We have tested it from variety of clients including IE, Firefox, Outlook, Apache Abdera, Sun Rome, etc.
				</p> 
			<hr /></dd><dt><a name="sdk-query-parameters">Does Wink query parameters?</a></dt><dd> 
				<p> 
					Absolutely.
				</p> 
			<hr /></dd><dt><a name="sdk-ide-plugin">Are there any plans for developing an IDE plugin wrapper for Wink?</a></dt><dd> 
				<p> 
					We are considering this option for the Eclipse IDE.
				</p> 
			</dd></dl></div><div class="section"><h2>Building the Apache Wink<a name="Building_the_Apache_Wink"></a></h2><dl><dt><a name="maven-version">What version of Maven is used to build Wink?</a></dt><dd> 
				<p> 
					Wink is built using Maven 2, version 2.0.9.
				</p> 
			<hr /></dd><dt><a name="maven-sources">Where can I read about Maven?</a></dt><dd> 
				<p> 
					Maven site: <a class="externalLink" href="http://maven.apache.org">http://maven.apache.org</a><br /></br>
					Maven FAQ: <a class="externalLink" href="http://docs.codehaus.org/display/MAVENUSER/FAQs-1">http://docs.codehaus.org/display/MAVENUSER/FAQs-1</a>
				</p> 
			<hr /></dd><dt><a name="build-oom">I am getting an OutOfMemoryException when performing a full build</a></dt><dd> 
				<p> 
					If you are getting OutOfMemoryException when attempting a full
					build, you may try increasing the max heap and the PermGen space sizes. 
					Either export a MAVEN_OPTS variable in your shell or add it to the original mvn script. 
					<br /></br>
					</p><div><pre>MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m</pre></div>
				 
			<hr /></dd><dt><a name="build-offline">Can I build the sources if I am not connected to the network?</a></dt><dd> 
				<p> 
					If you know your downloads are up-to-date, you can use the offline option 
					which may speed up your build considerably depending on network latency:
					</p><div><pre>mvn -o</pre></div>
				 
			<hr /></dd><dt><a name="build-tests">Some tests fail during the build. Where can I see what happened?</a></dt><dd> 
				<p> 
					Surefire, which is the default Maven test runner, outputs all tests reports
					as a set of xml and text files to the <tt>target/surefire-reports</tt> directory. 
					Any test failure details and stacktraces end up in those files, but not in the console. 
					The output can be temporarily redirected to the console by adding the following option:
					</p><div><pre>mvn -Dsurefire.useFile=false</pre></div>
				 
			</dd></dl></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2009-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
