I have been trying to get my first Restlet app up and running but I am running 
into a problem. Hopefully I will be able to explain what I am trying to do and 
what is happening in an understandable way. I have created a ServerResource 
class that will be called when a user goes to the route 
"/Identifier/{identifier}".

When in this class I want to take the variable being passed in which is 
"identifier" and then pass that variable into another method that sends an XML 
request to a server, gets an xml response back and then pass the xml response 
back to the client. So far I have been able to get that to work with the code 
that is below. What is happening is when I put this into a browser to test it 
http://localhost:8182/Identifier/identifier it works for the first request that 
I send in. The problem is that if I were to put in "Jason" in as the identifier 
for the first request I would get back the response that I am looking for, but 
if I then were to put in "George" in the request so that it looked like 
http://localhost:8182/Identifier/George I am getting a null response back.

Is there some type of reset option I have to do in the ServerResource that 
allows me to make a new call to it? It is almost as if it can only do the 
request once and then it is locked to where I can't call it anymore.

I hope the above makes sense. Below is the code that I am trying to accomplish 
the above with.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import org.restlet.*;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
import org.restlet.resource.Get;
import org.restlet.resource.Post;
import org.restlet.resource.ResourceException;
import org.restlet.resource.ServerResource;


public class XMLReturn extends ServerResource {


      @Get
      public String represent(){
            String userId = (String) getRequest().getAttributes().get("name");
            System.out.println("Value being passed in: "+userId);

            return sendRequestToServer(userId);

      }

      protected String sendRequestToServer(String input) throws 
ResourceException {

            String xmlResponse = "";
            String xmlRequest =
                  "<XML TAGS>"+

                        "</XML TAGS>";

            try {
                  // Open the socket to the CSGold Server
                  Socket csgold_socket = new Socket("192.x.x.x", 27801);
                  csgold_socket.setSoTimeout(2000);

                  // Send the XMl String over the Socket
                  PrintStream writeXML = new 
PrintStream(csgold_socket.getOutputStream());
                  writeXML.print(xmlRequest);

                  // Read in the XML response back from the CSGold server and 
store
                  // the results in a string
                  BufferedReader in = new BufferedReader(new 
InputStreamReader(csgold_socket.getInputStream()));
                  boolean eof = false;
                  while (!eof) {
                        xmlResponse = in.readLine();
                        if (xmlResponse == null)
                              eof = true;
                  }
                  csgold_socket.close();
            } catch (IOException e) {
                  //System.out.println("IO Error:" + e.getMessage());
            }

            System.out.println(xmlResponse);
            return xmlResponse;

      }






}

Jason Richards
System Administrator
Signature Card Operations
108 SASB
801.422.4652

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are 
proprietary and confidential infromation intended only for the use of the 
recipient(s) named above.  If you are not the intended recipient, you may not 
print, dirtribute, or copy this message or any attachments.  If you have 
received this communication in error, please notify the sender by return e-mail 
and delete this message and any attachments from your computer.

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2705170

Reply via email to