Thanks.  That was a big help.  Ultimately, I am trying to pass XML.  The
following worked for me:

Client:

public void onClick(ClickEvent event) {

JsonpRequestBuilder jsonprb= new JsonpRequestBuilder();

jsonprb.requestString("http://localhost:8084/Arahant/GWTServlet";,

new AsyncCallback<String>() {

                @Override

                public void onFailure(Throwable caught) {

                    Window.alert("Failure getting JSONP directly from
remote server");

                }


 @Override

public void onSuccess(String result) {

Window.alert("Got " + result);

}

            });


Server:


protected void processRequest(HttpServletRequest request,
HttpServletResponse response)

throws ServletException, IOException {

 String callback = request.getParameter("callback");

PrintWriter out = response.getWriter();

try {

out.print(callback + "(\"Hello there\")");

} finally {

out.close();

}

}

I figure I'll stick XML in the string.



On Mon, Mar 26, 2012 at 3:54 AM, Thomas Broyer <[email protected]> wrote:

> Your server sends an array with a single item being an element with a
> "Hello" property, so your client code should use an
> AsyncCallback<JsArray<X>> where X is some JavaScriptObject subclass with a
> JSNI method getting the "Hello" property
>
> class X extends JavaScriptObject {
>     protected X() { /* required by JSO */ }
>
>     public final native String getHello() /*-{ return this.Hello; }-*/;
> }
>
> ...
>
> jsonprb.requestObject(url, new AsyncCallback<JsArray<X>>() {
>     @Override
>     public void onSuccess(JsArray<X> result) {
>        X firstX = result.get(0);
>        Window.alert("Hello " + firstX.getHello());
>     }
> ...
> }
>
> On Monday, March 26, 2012 4:05:42 AM UTC+2, Blake wrote:
>
>> Greetings,
>>
>> I have a GWT app talking to a Java servlet just fine except I can't seem
>> to pass data.  I've already spent a day on it.  Any help would be greatly
>> appreciated.
>>
>> I am using JsonpRequestBuilder and attempting to get around SOP.  Here
>> is my server code:
>>
>> public class GWTServlet extends HttpServlet {
>> protected void processRequest(​HttpServletRequest request,
>> HttpServletResponse response)
>>  throws ServletException, IOException {
>> String callback = request.getParameter("​callback");
>>  PrintWriter out = response.getWriter();
>> try {
>> out.print(callback + "([{\"Hello\": \"world\"}]);");
>>  } finally {
>> out.close();
>>  }
>> }....
>>
>> Here is my GWT code:
>>
>> public void onClick(ClickEvent event) {
>>
>> JsonpRequestBuilder jsonprb= new JsonpRequestBuilder();
>>
>>  
>> jsonprb.requestObject("http://​localhost:8084/XXX/GWTServlet<http://localhost:8084/XXX/GWTServlet>
>> "​,
>>
>>  new AsyncCallback() {
>>
>>               @Override
>>
>>               public void onFailure(Throwable caught) {
>>
>>                   Window.alert("Failure getting JSONP directly from
>> remote server");
>>
>>               }
>>
>>
>> @Override
>>
>>  public void onSuccess(Object result) {
>>
>> Window.alert("Got response");
>>
>> JavaScriptObject res = (JavaScriptObject) result;
>>
>>  Window.alert(res.toSource());
>>
>> }
>>
>>           });
>>
>>
>> I get the "Got response" message.  I am also able to put break points on
>> the frontend or backend and it gets to where I expect.  The problem is that
>> I can't seem to get at the data send from the server.  I don't know what to
>> do in onSuccess().
>>
>> Of course, once I get this working I will have the same challenge going
>> the other way.  Help is greatly appreciated.
>>
>> Blake McBride
>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-web-toolkit/-/-r5aW6rcfGMJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to