Author: mgencur(a)redhat.com
Date: 2009-09-22 07:00:10 -0400 (Tue, 22 Sep 2009)
New Revision: 11506
Added:
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/WebServiceTestPageTest.java
Modified:
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/jboss.xml
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/seambay.properties
Log:
JBPAPP-2829 Backported a functional test for web service test page of seambay example
Modified: branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/jboss.xml
===================================================================
---
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/jboss.xml 2009-09-22
06:30:02 UTC (rev 11505)
+++
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/jboss.xml 2009-09-22
11:00:10 UTC (rev 11506)
@@ -29,6 +29,7 @@
<class name="org.jboss.seam.example.seambay.test.selenium.SellTest" />
<class name="org.jboss.seam.example.seambay.test.selenium.SearchTest"
/>
<class name="org.jboss.seam.example.seambay.test.selenium.BidTest" />
+ <class
name="org.jboss.seam.example.seambay.test.selenium.WebServiceTestPageTest"
/>
</classes>
</test>
</suite>
Added:
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/WebServiceTestPageTest.java
===================================================================
---
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/WebServiceTestPageTest.java
(rev 0)
+++
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/WebServiceTestPageTest.java 2009-09-22
11:00:10 UTC (rev 11506)
@@ -0,0 +1,257 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.seam.example.seambay.test.selenium;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.thoughtworks.selenium.Wait;
+
+import static org.testng.AssertJUnit.assertTrue;
+import static org.testng.AssertJUnit.fail;
+
+import com.thoughtworks.selenium.Wait;
+
+/**
+ * This class tests a functionality of web service test page available directly
+ * from SeamBay home page
+ *
+ * @author Martin Gencur
+ *
+ */
+public class WebServiceTestPageTest extends SeleniumSeamBayTest
+{
+
+ protected static final Long TIMEOUT = 3000L; //3 seconds
+ protected static final String HERE_LINK =
"xpath=//a[contains(text(),\"here\")]";
+ protected static final String SERVICE_PAGE_HEADING= "seamBay Web Services - Test
Page";
+
+ protected static final String INVOKE_SERVICE_BUTTON =
"xpath=//button[contains(@onclick,\"sendRequest\")]";
+ protected static final String REQUEST_AREA = "id=serviceRequest";
+ protected static final String RESPONSE_AREA = "id=serviceResponse";
+
+ protected static final String LOGIN_LINK =
"xpath=//a[contains(text(),\"Login\")]";
+ protected static final String LIST_CATEGORIES_LINK =
"xpath=//a[contains(text(),\"List Categories\")]";
+ protected static final String CREATE_NEW_AUCTION_LINK =
"xpath=//a[contains(text(),\"Create new auction\")]";
+ protected static final String UPDATE_AUCTION_DETAILS_LINK =
"xpath=//a[contains(text(),\"Update auction details\")]";
+ protected static final String SET_AUCTION_DURATION_LINK =
"xpath=//a[contains(text(),\"Set auction duration\")]";
+ protected static final String SET_STARTING_PRICE_LINK =
"xpath=//a[contains(text(),\"Set starting price\")]";
+ protected static final String GET_AUCTION_DETAILS_LINK =
"xpath=//a[contains(text(),\"Get the auction details\")]";
+ protected static final String CONFIRM_AUCTION_LINK =
"xpath=//a[contains(text(),\"Confirm auction\")]";
+ protected static final String FIND_AUCTIONS_LINK =
"xpath=/html/body/div[@id='services']/div[1]/a[2]";
+ protected static final String LOGOUT_LINK =
"xpath=//a[contains(text(),\"Logout\")]";
+
+ /*login parameters*/
+ protected static final String LOGIN_INPUT_USERNAME = "id=username";
+ protected static final String LOGIN_INPUT_PASSWORD = "id=password";
+
+ /*create new auction parameters*/
+ protected static final String AUCTION_TITLE = "id=title";
+ protected static final String AUCTION_DESCRIPTION = "id=description";
+ protected static final String AUCTION_CATEGORY_ID = "id=categoryId";
+
+ /*parameters for other tests*/
+ protected static final String SEARCH_TERM =
"/html/body/div[@id='detail']/div[4]/div[@id='parameters']/table/tbody/tr/td[2]/input[@id='searchTerm']";
+ protected static final String AUCTION_DURATION = "id=duration";
+ protected static final String STARTING_PRICE = "id=price";
+
+ @Test
+ public void simplePageContentTest(){
+ browser.clickAndWait(HERE_LINK);
+ waitForElementPresent(RESPONSE_AREA, TIMEOUT);
+ assertTrue("Page should contain service page
heading",browser.isTextPresent(SERVICE_PAGE_HEADING));
+ }
+
+ @Test(dependsOnMethods={"simplePageContentTest"})
+ public void loginTest(){
+ loginService();
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain \"true\"",
x.contains(getProperty("LOGIN_RIGHT_RESPONSE")));
+ }
+
+ public void loginService(){
+ String username = "demo";
+ String password = "demo";
+ browser.clickAndWait(HERE_LINK);
+ waitForElementPresent(RESPONSE_AREA, TIMEOUT);
+ waitForElementPresent(LOGIN_LINK, TIMEOUT);
+ browser.click(LOGIN_LINK);
+ waitForElementPresent(LOGIN_INPUT_USERNAME, TIMEOUT);
+ waitForElementPresent(LOGIN_INPUT_PASSWORD, TIMEOUT);
+ browser.type(LOGIN_INPUT_USERNAME, username);
+ browser.type(LOGIN_INPUT_PASSWORD, password);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ }
+
+ @Test(dependsOnMethods={"loginTest"})
+ public void listCategoriesTest(){
+ loginService();
+ waitForElementPresent(LIST_CATEGORIES_LINK, TIMEOUT);
+ browser.click(LIST_CATEGORIES_LINK);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain a list of categories.",
x.contains(getProperty("LIST_CATEGORIES_RESPONSE")));
+ }
+
+ @Test(dependsOnMethods={"loginTest"})
+ public void createNewAuctionTest(){
+ loginService();
+ createNewAuctionService();
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain information about creating the
auction.", x.contains(getProperty("CREATE_NEW_AUCTION_RESPONSE")));
+ }
+
+ public void createNewAuctionService(){
+ String title = "Animals";
+ String description = "You can buy an animal here";
+ String categoryId = "6";
+ waitForElementPresent(CREATE_NEW_AUCTION_LINK, TIMEOUT*5);
+ browser.click(CREATE_NEW_AUCTION_LINK);
+ waitForElementPresent(AUCTION_TITLE, TIMEOUT);
+ waitForElementPresent(AUCTION_DESCRIPTION, TIMEOUT);
+ waitForElementPresent(AUCTION_CATEGORY_ID, TIMEOUT);
+ browser.type(AUCTION_TITLE, title);
+ browser.type(AUCTION_DESCRIPTION, description);
+ browser.type(AUCTION_CATEGORY_ID, categoryId);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ }
+
+ @Test(dependsOnMethods={"loginTest","createNewAuctionTest"})
+ public void updateAuctionTest(){
+ String title = "Animals";
+ String description = "Another description";
+ String categoryId = "5";
+ loginService();
+ createNewAuctionService();
+ waitForElementPresent(UPDATE_AUCTION_DETAILS_LINK, TIMEOUT);
+ browser.click(UPDATE_AUCTION_DETAILS_LINK);
+ waitForElementPresent(AUCTION_TITLE, TIMEOUT);
+ waitForElementPresent(AUCTION_DESCRIPTION, TIMEOUT);
+ waitForElementPresent(AUCTION_CATEGORY_ID, TIMEOUT);
+ browser.type(AUCTION_TITLE, title);
+ browser.type(AUCTION_DESCRIPTION, description);
+ browser.type(AUCTION_CATEGORY_ID, categoryId);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain information about updating the
auction.", x.contains(getProperty("UPDATE_AUCTION_RESPONSE")));
+ }
+
+ @Test(dependsOnMethods={"loginTest","createNewAuctionTest"})
+ public void setAuctionDurationTest(){
+ String duration = "20";
+ loginService();
+ createNewAuctionService();
+ waitForElementPresent(SET_AUCTION_DURATION_LINK, TIMEOUT);
+ browser.click(SET_AUCTION_DURATION_LINK);
+ waitForElementPresent(AUCTION_DURATION, TIMEOUT);
+ browser.type(AUCTION_DURATION, duration);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain information about setting
duration.", x.contains(getProperty("SET_DURATION_RESPONSE")));
+ }
+
+ @Test(dependsOnMethods={"loginTest","createNewAuctionTest"})
+ public void setStartingPriceTest(){
+ String price = "1000";
+ loginService();
+ createNewAuctionService();
+ waitForElementPresent(SET_STARTING_PRICE_LINK, TIMEOUT);
+ browser.click(SET_STARTING_PRICE_LINK);
+ waitForElementPresent(STARTING_PRICE, TIMEOUT);
+ browser.type(STARTING_PRICE, price);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain information about setting starting
price.", x.contains(getProperty("SET_STARTING_PRICE_RESPONSE")));
+ }
+
+ @Test(dependsOnMethods={"loginTest","createNewAuctionTest"})
+ public void getAuctionDetailsTest(){
+ loginService();
+ createNewAuctionService();
+ waitForElementPresent(GET_AUCTION_DETAILS_LINK, TIMEOUT);
+ browser.click(GET_AUCTION_DETAILS_LINK);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain auction details.",
x.contains(getProperty("AUCTION_DETAILS_PRICE_RESPONSE")));
+ }
+
+ @Test(dependsOnMethods={"loginTest"})
+ public void logOutTest(){
+ loginService();
+ waitForElementPresent(LOGOUT_LINK, TIMEOUT);
+ browser.click(LOGOUT_LINK);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain logout confirmation.",
x.contains(getProperty("LOGOUT_RESPONSE")));
+ }
+
+ @Test(dependsOnMethods={"loginTest","createNewAuctionTest"})
+ public void confirmAuctionTest(){
+ loginService();
+ createNewAuctionService();
+ waitForElementPresent(CONFIRM_AUCTION_LINK, TIMEOUT);
+ browser.click(CONFIRM_AUCTION_LINK);
+ waitForElementPresent(INVOKE_SERVICE_BUTTON, TIMEOUT);
+ browser.click(INVOKE_SERVICE_BUTTON);
+ waitForElementContent(RESPONSE_AREA, TIMEOUT*5);
+ String x = browser.getValue(RESPONSE_AREA);
+ assertTrue("Response area should contain information about
confirmation.", x.contains(getProperty("CONFIRMATION_RESPONSE")));
+ }
+
+ public void waitForElementPresent(final String locator, Long timeout){
+ new Wait()
+ {
+ @Override
+ public boolean until()
+ {
+ return browser.isElementPresent(locator);
+ }
+ }.wait("Timeout while waiting for element "+ locator +"
present.", timeout);
+ } //waitForElementPresent
+
+ public void waitForElementContent(final String locator, Long timeout){
+ new Wait()
+ {
+ @Override
+ public boolean until()
+ {
+ return (browser.getValue(locator).length() != 0);
+ }
+ }.wait("Timeout while waiting for element
content."+browser.getValue(locator).length()+","+locator , timeout);
+ } //waitForElementContent
+}
Modified:
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/seambay.properties
===================================================================
---
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/seambay.properties 2009-09-22
06:30:02 UTC (rev 11505)
+++
branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/seambay/src/org/jboss/seam/example/seambay/test/selenium/seambay.properties 2009-09-22
11:00:10 UTC (rev 11506)
@@ -53,4 +53,14 @@
BID_HISTORY_COUNT //table[@id='history']/tbody/tr
BID_OUTBID id=outbid
BID_HIGH_BIDDER id\=highBidder
-BID_HISTORY_BACK id\=back
+BID_HISTORY_BACK id\=back
+LIST_CATEGORIES_RESPONSE=<ns2\:listCategoriesResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"><re...
and
Photography</name></return><return><categoryId>5</categoryId><name>Cars
and
Boats</name></return><return><categoryId>6</categoryId><name>Cell
Phones</name></return><return><categoryId>7</categoryId><name>Clothing
and
Shoes</name></return><return><categoryId>8</categoryId><name>Computers</name></return><return><categoryId>9</categoryId><name>Music</name></return><return><categoryId>10</categoryId><name>Electronics</name></return><return><categoryId>11</categoryId><name>Home
and
Garden</name></return><return><categoryId>12</categoryId><name>Musical
Instruments</name></return><return><categoryId>13</categoryId><name>Sporting
goods</name></!
return><return><categoryId>14</categoryId><name>Toys</name></return><return><categoryId>15</categoryId><name>Video
Games</name></return><return><categoryId>1001</categoryId><name>Furniture</name><parent><categoryId>1</categoryId><name>Antiques</name></parent></return><return><categoryId>1002</categoryId><name>Silverware</name><parent><categoryId>1</categoryId><name>Antiques</name></parent></return><return><categoryId>2001</categoryId><name>Paintings</name><parent><categoryId>2</categoryId><name>Art</name></parent></return><return><categoryId>2002</categoryId><name>Prints</name><parent><categoryId>2</categoryId><name>Art</name></parent></return><return><categoryId>2003</categoryId><name>Sculptures</name><parent><categoryId>2</categoryId><name>Art</name></parent></return><return><categoryId>3001</categoryId><name>Fiction</name><parent><categoryId>3</categoryId><name>Books</name></parent></return><return><categoryId>3002</categoryId><name>Non
Fiction</name><parent><categoryId>!
3</categoryId><name>Books</name></parent></return><return><cat!
egoryId>
3003</categoryId><name>Comic
Books</name><parent><categoryId>3</categoryId><name>Books</name></parent></return><return><categoryId>3004</categoryId><name>Children</name><parent><categoryId>3</categoryId><name>Books</name></parent></return><return><categoryId>4001</categoryId><name>Digital
Cameras</name><parent><categoryId>4</categoryId><name>Cameras
and
Photography</name></parent></return><return><categoryId>4002</categoryId><name>Memory
Cards</name><parent><categoryId>4</categoryId><name>Cameras
and
Photography</name></parent></return><return><categoryId>4003</categoryId><name>Film
Cameras</name><parent><categoryId>4</categoryId><name>Cameras
and
Photography</name></parent></return><return><categoryId>4004</categoryId><name>Video
Cameras</name><parent><categoryId>4</categoryId><name>Cameras
and
Photography</name></parent></return><return><categoryId>5001</categoryId><name>Cars</name><parent><categoryId>5</categoryId><name>Cars
and Boats</name></parent></return><return><cate!
goryId>5002</categoryId><name>Motorcycles</name><parent><categoryId>5</categoryId><name>Cars
and
Boats</name></parent></return><return><categoryId>5003</categoryId><name>Car
Parts</name><parent><categoryId>5</categoryId><name>Cars and
Boats</name></parent></return><return><categoryId>6001</categoryId><name>Mobile
Phones</name><parent><categoryId>6</categoryId><name>Cell
Phones</name></parent></return><return><categoryId>6002</categoryId><name>Mobile
Accessories</name><parent><categoryId>6</categoryId><name>Cell
Phones</name></parent></return><return><categoryId>6003</categoryId><name>Prepaid
cards</name><parent><categoryId>6</categoryId><name>Cell
Phones</name></parent></return><return><categoryId>7001</categoryId><name>Women</name><parent><categoryId>7</categoryId><name>Clothing
and
Shoes</name></parent></return><return><categoryId>7002</categoryId><name>Men</name><parent><categoryId>7</categoryId><name>Clothing
and
Shoes</name></parent></return><return><categoryId>7003</c!
ategoryId><name>Girls</name><parent><categoryId>7</categoryId>!
<name>Cl
othing and
Shoes</name></parent></return><return><categoryId>7004</categoryId><name>Boys</name><parent><categoryId>7</categoryId><name>Clothing
and
Shoes</name></parent></return><return><categoryId>7005</categoryId><name>Babies</name><parent><categoryId>7</categoryId><name>Clothing
and
Shoes</name></parent></return><return><categoryId>8001</categoryId><name>Notebooks</name><parent><categoryId>8</categoryId><name>Computers</name></parent></return><return><categoryId>8002</categoryId><name>Desktop
PCs</name><parent><categoryId>8</categoryId><name>Computers</name></parent></return><return><categoryId>8003</categoryId><name>Servers</name><parent><categoryId>8</categoryId><name>Computers</name></parent></return><return><categoryId>8004</categoryId><name>Hardware</name><parent><categoryId>8</categoryId><name>Computers</name></parent></return><return><categoryId>8005</categoryId><name>Software</name><parent><categoryId>8</categoryId><name>Computers</name></parent></return><return><!
categoryId>9001</categoryId><name>CDs</name><parent><categoryId>9</categoryId><name>Music</name></parent></return><return><categoryId>9002</categoryId><name>Records</name><parent><categoryId>9</categoryId><name>Music</name></parent></return><return><categoryId>10001</categoryId><name>Home
Audio</name><parent><categoryId>10</categoryId><name>Electronics</name></parent></return><return><categoryId>10002</categoryId><name>MP3
Players</name><parent><categoryId>10</categoryId><name>Electronics</name></parent></return><return><categoryId>10003</categoryId><name>Television</name><parent><categoryId>10</categoryId><name>Electronics</name></parent></return><return><categoryId>10004</categoryId><name>Home
theatre</name><parent><categoryId>10</categoryId><name>Electronics</name></parent></return><return><categoryId>11001</categoryId><name>Kitchen</name><parent><categoryId>11</categoryId><name>Home
and
Garden</name></parent></return><return><categoryId>11002</categoryId><name>Real
Esta!
te</name><parent><categoryId>11</categoryId><name>Home and
Gar!
den</nam
e></parent></return><return><categoryId>11003</categoryId><name>Furniture</name><parent><categoryId>11</categoryId><name>Home
and
Garden</name></parent></return><return><categoryId>12001</categoryId><name>Guitars</name><parent><categoryId>12</categoryId><name>Musical
Instruments</name></parent></return><return><categoryId>12002</categoryId><name>Pianos
and
Keyboards</name><parent><categoryId>12</categoryId><name>Musical
Instruments</name></parent></return><return><categoryId>12003</categoryId><name>Percussion</name><parent><categoryId>12</categoryId><name>Musical
Instruments</name></parent></return><return><categoryId>12004</categoryId><name>Orchestral</name><parent><categoryId>12</categoryId><name>Musical
Instruments</name></parent></return><return><categoryId>13001</categoryId><name>Golf</name><parent><categoryId>13</categoryId><name>Sporting
goods</name></parent></return><return><categoryId>13002</categoryId><name>Fishing</name><parent><categoryId>13</categoryId><name>Spo!
rting
goods</name></parent></return><return><categoryId>13003</categoryId><name>Tennis</name><parent><categoryId>13</categoryId><name>Sporting
goods</name></parent></return><return><categoryId>14001</categoryId><name>Remote
control</name><parent><categoryId>14</categoryId><name>Toys</name></parent></return><return><categoryId>14002</categoryId><name>Cars
and
trucks</name><parent><categoryId>14</categoryId><name>Toys</name></parent></return><return><categoryId>14003</categoryId><name>Dolls</name><parent><categoryId>14</categoryId><name>Toys</name></parent></return><return><categoryId>14004</categoryId><name>Educational</name><parent><categoryId>14</categoryId><name>Toys</name></parent></return><return><categoryId>15001</categoryId><name>PC</name><parent><categoryId>15</categoryId><name>Video
Games</name></parent></return><return><categoryId>15002</categoryId><name>Nintendo
Wii</name><parent><categoryId>15</categoryId><name>Video
Games</name></parent></return><return><categor!
yId>15003</categoryId><name>Sony Playstation
3</name><parent><!
category
Id>15</categoryId><name>Video
Games</name></parent></return><return><categoryId>15004</categoryId><name>XBox
360</name><parent><categoryId>15</categoryId><name>Video
Games</name></parent></return></ns2\:listCategoriesResponse>
+LOGIN_RIGHT_RESPONSE=<return>true</return>
+CREATE_NEW_AUCTION_RESPONSE=<ns2\:createAuctionResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"/>
+FIND_AUCTIONS_RESPONSE=<description>You can buy an animal here</description>
+UPDATE_AUCTION_RESPONSE=<ns2\:updateAuctionDetailsResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"/>
+SET_DURATION_RESPONSE=<ns2\:setAuctionDurationResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"/>
+SET_STARTING_PRICE_RESPONSE=<ns2\:setAuctionPriceResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"/>
+AUCTION_DETAILS_PRICE_RESPONSE=<ns2\:getNewAuctionDetailsResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"><re...,
NSW, Australia</location>
+LOGOUT_RESPONSE=<ns2\:logoutResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"><re...
+CONFIRMATION_RESPONSE=<env\:Body><ns2\:confirmAuctionResponse
xmlns\:ns2\="http\://seambay.example.seam.jboss.org/"/></...