# OutputMap.jws Sample

This topic inludes the source code for the OutputMap.jws Sample.

## Sample Location

This sample is located in the following directory in your WebLogic Workshop installation:

BEA_HOME/weblogic81/samples/workshop/SamplesApp/WebServices/xqueryMap/

## Sample Source Code

`01 package xqueryMap; 02 03 /** 04 * This web service illustrates a simple return-XML XQuery map. 05 * 06 * @common:xmlns namespace="http://openuri.org/bea/samples/workshop/xmlmap/outputMap" prefix="ns0" 07 * @common:target-namespace namespace="http://workshop.bea.com/OutputMap" 08 */ 09 public class OutputMap implements com.bea.jws.WebService 10 { 11 public static class Person 12 { 13 public String fname; 14 public String lname; 15 public Person() {} 16 public Person (String first, String last) 17 { 18 fname = first; 19 lname = last; 20 } 21 } 22 23 /** 24 * This method uses a simple XQuery map to ensure that the outgoing message carrying 25 * its return value conforms to a particular schema. The elements that make up the 26 * map's template (elements such as ns1:EMPLOYEE) match those defined by the schema. 27 * XQuery expressions (such as $input/ns0:HelloResult/ns0:fname) select values from 28 * the default XML generated from the method's Java signature. At runtime, 29 * WebLogic Server runtime components execute the XQuery expressions against 30 * the default XML, then insert the resulting values into the template formed by 31 * the map.<br/><br/> 32 * 33 * <strong>Be sure to use the Test XML tab -- not Text Form -- to test this method.</strong> 34 * To test this method, replace the contents of the fname and lname elements that 35 * Test View provides on the Test XML tab with your own values. In other words, you're 36 * replacing the "string" default values.<br/><br/> 37 * 38 * For the schema that defines this method's outgoing message, see OutputMap.xsd in the 39 * Schemas project of the SamplesApp application. The resulting XML itself will 40 * be displayed in Test View when the method's results have returned. 41 * <br/> 42 * 43 * @common:operation 44 * @jws:return-xml xquery:: 45 * declare namespace ns0 = "http://workshop.bea.com/OutputMap" 46 * declare namespace ns1 = "http://openuri.org/bea/samples/workshop/xmlmap/outputMap" 47 * 48 * <ns1:EMPLOYEE> 49 * <ns1:FIRSTNAME>{ data($input/ns0:HelloResult/ns0:fname) }</ns1:FIRSTNAME> 50 * <ns1:LASTNAME>{ data($input/ns0:HelloResult/ns0:lname) }</ns1:LASTNAME> 51 * </ns1:EMPLOYEE> 52 * :: 53 * schema-element="ns0:EMPLOYEE" 54 */ 55 public Person Hello (String fname, String lname) 56 { 57 return new Person(fname, lname); 58 } 59 }`