Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    SmartGWT EE WSDL binding: RPC Request error

    Hello all,

    I'm trying to bind a very simple web service to a ListGrid datasource, similarly to the "Weather SOAP Search" example showed in your SmartGWT EE showcase.
    I read a lot of documentation and forum threads but I'm not understanding where is the problem with my code.

    I downloaded the evaluation version of SmartGWT EE 2.1 and deployed it into my GWT Web App project, created with Google Eclipse Plugin (using GWT SDK 2.0.3, NOT using Google App Engine, Eclipse Platform is 3.5.2.R35x). So, in the development phase, I am running SmartClient server components inside Google's Jetty server (localhost:8888).
    The web service being called from my code is deployed on a WebLogic server installed on the same machine, but listening on a different port (localhost:7101) in order to simulate the production environment, where services will be deployed on different hosts. Therefore, I'm using the HttpProxy shipped with SmartClient to avoid SOP restrictions.

    Here is my very simple Java code.
    Code:
    package gino.client;
    
    import com.google.gwt.core.client.EntryPoint;
    import com.smartgwt.client.data.DataSource;
    import com.smartgwt.client.data.DataSourceField;
    import com.smartgwt.client.data.OperationBinding;
    import com.smartgwt.client.data.SchemaSet;
    import com.smartgwt.client.data.XMLTools;
    import com.smartgwt.client.data.WSDLLoadCallback;
    import com.smartgwt.client.data.WebService;
    import com.smartgwt.client.data.XSDLoadCallback;
    import com.smartgwt.client.data.XmlNamespaces;
    import com.smartgwt.client.widgets.Canvas;
    import com.smartgwt.client.widgets.IButton;
    import com.smartgwt.client.widgets.events.ClickHandler;
    import com.smartgwt.client.widgets.events.ClickEvent;
    import com.smartgwt.client.widgets.form.DynamicForm;
    import com.smartgwt.client.widgets.layout.VLayout;
    import com.smartgwt.client.widgets.grid.ListGrid;
    import com.smartgwt.client.rpc.RPCManager;
    import com.smartgwt.client.rpc.RPCRequest;
    import com.smartgwt.client.types.FieldType;
    import com.smartgwt.client.util.SC;
    import com.smartgwt.client.util.BooleanCallback;
    
    public class Gino implements EntryPoint {
    
        public void onModuleLoad() {
            final Canvas canvas = new Canvas();
            canvas.setWidth100();
            canvas.setHeight100();
    
            RPCManager.setUseHttpProxy(true);
            final String xsdURL = "http://localhost:7101/app1-prj1-context-root/RFIService?xsd=1";
            final String wsdlURL = "http://localhost:7101/app1-prj1-context-root/RFIService?wsdl";
            SC.showPrompt("Loading WSDL from: " + wsdlURL);
            XMLTools.loadXMLSchema(xsdURL, new XSDLoadCallback() {
    			@Override
    			public void execute(SchemaSet schemaSet) {
    		        XMLTools.loadWSDL(wsdlURL, new WSDLLoadCallback() {
    					@Override
    		            public void execute(WebService service) {
    		                if(service == null) {
    		                    SC.warn("WSDL not currently available (tried "+ wsdlURL+ ")", new BooleanCallback() {
    		                        public void execute(Boolean value) {
    		                        }
    		                    });
    		                    return;
    		                }
    		                
    		                XmlNamespaces namespaces = new XmlNamespaces();
    		            	namespaces.addNamespace("ns2", "http://service.icmt.com/");
    		                OperationBinding opBind = new OperationBinding();
    		                opBind.setXmlNamespaces(namespaces);
    		                opBind.setRecordXPath("//return");
    		                opBind.setUseFlatFields(true);
    		                DataSource resultDS = service.getFetchDS("readAllNations", "nation", opBind);
    
    		                VLayout layout = new VLayout(20);
    		                layout.setWidth100();
    		                layout.setHeight100();
    		                layout.setLayoutMargin(40);
    		                
    		                final ListGrid searchResults = new ListGrid();
    		                searchResults.setWidth100();
    		                searchResults.setDataSource(resultDS);
    
    		                IButton searchButton = new IButton("List");
    		                searchButton.addClickHandler(new ClickHandler() {
    		                    public void onClick(ClickEvent event) {
    		                        searchResults.fetchData();
    		                    }
    		                });
    
    		                layout.addMember(searchButton);
    		                layout.addMember(searchResults);
    		                canvas.addChild(layout);
    
    		                SC.clearPrompt();
    		            }
    		        });
    			}
            });
            
            canvas.draw();
        }
    
    }
    When I load the application, I get an ampty ListGrid with the two fields "Country Code" and "Country Name", as expected.
    This is the console output obtained when I launch the application with Eclipse (no particular issues I suppose...)
    Code:
    log4j:WARN No appenders could be found for logger (org.apache.jasper.compiler.JspRuntimeContext).
    log4j:WARN Please initialize the log4j system properly.
    ISC: Configuring log4j from: file:/C:/Davide/ICMT/workspace/gino/war/WEB-INF/classes/log4j.isc.config.xml
    === 2010-05-27 17:03:46,205 [main] INFO  ISCInit - Isomorphic SmartClient Framework - Initializing
    === 2010-05-27 17:03:46,205 [main] INFO  ConfigLoader - Attempting to load framework.properties from CLASSPATH
    === 2010-05-27 17:03:46,252 [main] INFO  ConfigLoader - Successfully loaded framework.properties from CLASSPATH at location: jar:file:/C:/Davide/ICMT/workspace/gino/war/WEB-INF/lib/isomorphic_core_rpc.jar!/framework.properties
    === 2010-05-27 17:03:46,252 [main] INFO  ConfigLoader - Attempting to load project.properties from CLASSPATH
    === 2010-05-27 17:03:46,252 [main] INFO  ConfigLoader - Unable to locate project.properties in CLASSPATH
    === 2010-05-27 17:03:46,252 [main] INFO  ConfigLoader - Successfully loaded isc_interfaces.properties from CLASSPATH at location: jar:file:/C:/Davide/ICMT/workspace/gino/war/WEB-INF/lib/isomorphic_core_rpc.jar!/isc_interfaces.properties
    === 2010-05-27 17:03:46,252 [main] INFO  ConfigLoader - Attempting to load server.properties from CLASSPATH
    === 2010-05-27 17:03:46,252 [main] INFO  ConfigLoader - Successfully loaded server.properties from CLASSPATH at location: file:/C:/Davide/ICMT/workspace/gino/war/WEB-INF/classes/server.properties
    === 2010-05-27 17:03:46,252 [main] INFO  Logger - Logging system started.
    === 2010-05-27 17:03:46,252 [main] INFO  ISCInit - Isomorphic SmartClient Framework (SC_SNAPSHOT-2010-03-09/EVAL Deployment 2010-03-09) - Initialization Complete
    === 2010-05-27 17:03:46,252 [main] INFO  ISCInit - Using Configured webRoot: C:/Davide/ICMT/workspace/gino/war
    === 2010-05-27 17:03:46,361 [main] INFO  PreCache - Isomorphic PreCache servlet loading
    === 2010-05-27 17:03:46,361 [main] INFO  PoolManager - SmartClient pooling disabled for 'DataSource' objects
    === 2010-05-27 17:03:46,392 [main] INFO  PreCache - Isomorphic PreCache complete (31ms)
    The following is the console output obtained when I access the application from my browser (Firefox); it also shows the XSD and the WSDL, that seem to be correctly loaded.
    Code:
    === 2010-05-27 17:05:15,549 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_Over_start.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:15,549 [l0-3] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_Over_end.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:15,549 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_Over_stretch.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:15,549 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_Over_start.png
    === 2010-05-27 17:05:15,549 [l0-3] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_Over_end.png
    === 2010-05-27 17:05:15,549 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_Over_stretch.png
    === 2010-05-27 17:05:16,627 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/ListGrid/header_Over.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:16,627 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/ListGrid/header_Over.png
    === 2010-05-27 17:05:19,627 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/skin_styles.css', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:19,627 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/skin_styles.css
    === 2010-05-27 17:05:27,814 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/blank.gif', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,814 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/blank.gif
    === 2010-05-27 17:05:27,830 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_TL.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,830 [l0-3] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_T.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,830 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_TR.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,830 [l0-3] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_T.png
    === 2010-05-27 17:05:27,830 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_TL.png
    === 2010-05-27 17:05:27,830 [l0-3] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_L.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,830 [l0-3] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_L.png
    === 2010-05-27 17:05:27,830 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_R.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,830 [l0-3] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_B.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,830 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_TR.png
    === 2010-05-27 17:05:27,830 [l0-3] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_B.png
    === 2010-05-27 17:05:27,846 [l0-4] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_BR.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,846 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_R.png
    === 2010-05-27 17:05:27,846 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_BL.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:27,846 [l0-4] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_BR.png
    === 2010-05-27 17:05:27,846 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_BL.png
    === 2010-05-27 17:05:28,017 [l0-0] INFO  HttpProxyServlet - HttpProxy - No rules defined - proxying all incoming URLs.
    === 2010-05-27 17:05:28,033 [l0-0] DEBUG XML - Parsed XML from (in memory stream): 0ms
    === 2010-05-27 17:05:28,049 [l0-0] DEBUG XML - Parsed XML from C:\Davide\ICMT\workspace\gino\war\gino\sc\system\schema\builtinTypes.xml: 16ms
    === 2010-05-27 17:05:28,064 [l0-0] DEBUG HttpProxyServlet - HttpProxy - ProxyData is: {
        xsi:"http://www.w3.org/2000/10/XMLSchema-instance",
        url:"http://localhost:7101/app1-prj1-context-root/RFIService?xsd=1",
        httpMethod:"GET"
    }
    === 2010-05-27 17:05:28,174 [l0-0] INFO  HttpProxyServlet - HttpProxy - Method succeeded: HTTP/1.1 200 OK
    === 2010-05-27 17:05:28,174 [l0-0] INFO  HttpProxyServlet - HttpProxy - Response:
    <?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5. --><xs:schema xmlns:tns="http://service.icmt.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://service.icmt.com/">
    
    
    <xs:element name="readAllNations" type="tns:readAllNations"/>
    
    <xs:complexType name="nation">
    <xs:sequence>
    <xs:element name="countryCode" type="xs:string" minOccurs="0"/>
    <xs:element name="countryName" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="readAllNations">
    <xs:sequence/>
    </xs:complexType>
    
    <xs:complexType name="readAllNationsResponse">
    <xs:sequence>
    <xs:element name="return" type="tns:nation" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    
    </xs:schema>
    === 2010-05-27 17:05:28,627 [l0-0] DEBUG XML - Parsed XML from (in memory stream): 0ms
    === 2010-05-27 17:05:28,627 [l0-0] DEBUG HttpProxyServlet - HttpProxy - ProxyData is: {
        xsi:"http://www.w3.org/2000/10/XMLSchema-instance",
        url:"http://localhost:7101/app1-prj1-context-root/RFIService?wsdl",
        httpMethod:"GET"
    }
    === 2010-05-27 17:05:28,642 [l0-0] INFO  HttpProxyServlet - HttpProxy - Method succeeded: HTTP/1.1 200 OK
    === 2010-05-27 17:05:28,642 [l0-0] INFO  HttpProxyServlet - HttpProxy - Response:
    <?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.5. --><definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://service.icmt.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://service.icmt.com/" name="RFIService">
    <types>
    <xsd:schema>
    <xsd:import namespace="http://service.icmt.com/" schemaLocation="http://localhost:7101/app1-prj1-context-root/RFIService?xsd=1"/>
    </xsd:schema>
    </types>
    <message name="readAllNations">
    <part name="parameters" element="tns:readAllNations"/>
    </message>
    <message name="readAllNationsResponse">
    <part name="parameters" element="tns:readAllNationsResponse"/>
    </message>
    <portType name="RFIService">
    <operation name="readAllNations">
    <input message="tns:readAllNations"/>
    <output message="tns:readAllNationsResponse"/>
    </operation>
    </portType>
    <binding name="RFIServiceSoap12HttpPortBinding" type="tns:RFIService">
    <soap12:binding transport="http://www.w3.org/2003/05/soap/bindings/HTTP/" style="document"/>
    <operation name="readAllNations">
    <soap12:operation soapAction=""/>
    <input>
    <soap12:body use="literal"/>
    </input>
    <output>
    <soap12:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="RFIService">
    <port name="RFIServiceSoap12HttpPort" binding="tns:RFIServiceSoap12HttpPortBinding">
    <soap12:address location="http://localhost:7101/app1-prj1-context-root/RFIService"/>
    </port>
    </service>
    </definitions>
    === 2010-05-27 17:05:28,705 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_start.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:28,705 [l0-4] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_stretch.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:28,705 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_end.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:28,705 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_start.png
    === 2010-05-27 17:05:28,705 [l0-4] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_stretch.png
    === 2010-05-27 17:05:28,721 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_end.png
    === 2010-05-27 17:05:28,736 [l0-2] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/ListGrid/header.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:05:28,736 [l0-2] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/ListGrid/header.png
    At the same time, I get the following error in the Jetty console claiming that there are no fields for my datasource. This seems surprising, because I can see the fields in the ListGrid on my browser.
    Code:
    17:05:28.721 [ERROR] [gino] 17:05:28.716:XRP4:WARN:ListGrid:isc_OID_2:ListGrid.setFields() : neither this ListGrid nor its dataSource have fields
    com.smartgwt.client.core.JsObject$SGWT_WARN: 17:05:28.716:XRP4:WARN:ListGrid:isc_OID_2:ListGrid.setFields() : neither this ListGrid nor its dataSource have fields
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
        at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713)
        at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165)
        at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
        at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
        at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
        at com.smartgwt.client.widgets.Canvas.addChild(Canvas.java)
        at gino.client.Gino$1$1.execute(Gino.java:113)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
        at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
        at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
        at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
        at java.lang.Thread.run(Unknown Source)
    The big issue is when I press the "List" button, which calls the ListGrid fetchData() method. The exception reported below makes me suppose that there's something wrong in the XML SOAP request generation (can I have some control on that magic going on behind the scenes?)
    Code:
    === 2010-05-27 17:28:33,158 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_Down_start.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,158 [l0-7] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_Down_stretch.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,158 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_Down_start.png
    === 2010-05-27 17:28:33,158 [l0-7] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_Down_stretch.png
    === 2010-05-27 17:28:33,158 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/button/button_Down_end.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,158 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/button/button_Down_end.png
    === 2010-05-27 17:28:33,252 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_TL.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-7] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_T.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-7] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_T.png
    === 2010-05-27 17:28:33,252 [l0-8] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_TR.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_TL.png
    === 2010-05-27 17:28:33,252 [l0-7] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_L.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-8] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_TR.png
    === 2010-05-27 17:28:33,252 [l0-7] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_L.png
    === 2010-05-27 17:28:33,252 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_R.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-7] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_BL.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_R.png
    === 2010-05-27 17:28:33,252 [l0-8] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_B.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-7] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_BL.png
    === 2010-05-27 17:28:33,252 [l0-0] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/Window/window_BR.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,252 [l0-8] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_B.png
    === 2010-05-27 17:28:33,267 [l0-0] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/Window/window_BR.png
    === 2010-05-27 17:28:33,267 [l0-8] INFO  RequestContext - URL: '/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:33,283 [l0-8] ERROR IDACall - Top-level servlet error: 
    java.lang.Exception: Non-RPC request ignored.
    	at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1158)
    	at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:250)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:90)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    === 2010-05-27 17:28:34,783 [l0-8] INFO  RequestContext - URL: '/sc/skins/Enterprise/images/ListGrid/header_Over.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9': Moz (Gecko) with Accept-Encoding header
    === 2010-05-27 17:28:34,783 [l0-8] INFO  Download - done streaming: C:/Davide/ICMT/workspace/gino/war/sc/skins/Enterprise/images/ListGrid/header_Over.png
    At the same time, the Jetty console gives me a more detailed error message (I'm not having success in cutting&pasting it), claiming that an </init> element is missing.

    Sorry for writing such a huge post, my intention was to provide you with all the details.
    Please give me some help, I'm dealing with the same exception since a couple of days :-(
    I would like to point out that in case of success of the prototype that I'm developing, my company will buy licenses for SmartGWT EE.

    Thank you very much!

    #2
    The warning about not having fields is spurious and was corrected May 17th.

    The primary tool to be using in this situation is the RPC tab in the Developer Console - see the FAQ for how to use it. This will probably get you that key Jetty error you can't copy and paste.

    The root cause here is likely to be that the "location" attribute in the WSDL file is missing or couldn't be found for some reason. Note also that there is a variant of loadWSDL that auto-loads dependent files (XML Schema, other WSDL) - you may need to use that version if the two files you are using are not providing a complete definition of the service.

    Comment


      #3
      Thanks for your fast reply.
      I was going to follow your suggestion to use the RPC tab in the developer Console, so I deployed SmarClient tools in my environment. I added
      <inherits name="com.smartgwtee.tools.Tools"/>
      to my .gwt.xml file and copied isomorphic_tools.jar (with all its dependencies) under WEB-INF\lib.
      However, when I launched my application I got the popup stating that my SmartClient evaluation copy is expired. I'm really surprised because I downloaded and extracted the evaluation version zip file just 4 years ago... So I undeployed the Tools but my evaluation copy seems to be definitely expired... I really can't understand.

      Comment


        #4
        I just replicated the same environment (Eclipse + Google Plugin) on a different workstation (clean OS installation) and deployed the same SmartGWT project.
        I can access my application from the web browser (still getting the RPC error described yesterday), but the strange issue is that when I try to access the Developer Console (http://localhost:8888/<isomorphicPathRootRelative>/system/helpers/Log.html) the SmartClient expiration popup is shown. What can I do to keep on evaluating your product?

        Comment


          #5
          You probably didn't mean "4 years ago" :)

          The expiration message is harmless and the tools will continue to function normally, however, you can download a nightly build to avoid seeing it (see the FAQ). Current nightlies reflect almost-final SmartGWT EE 2.2 code and we will update the official evaluation as soon as 2.2 is final.

          Comment


            #6
            oops! sorry, of course I meant "4 days ago" :-S
            However, at the moment I'm working with the LGPL version.
            Finally I was able to access the RPC tab from the developer console (very powerful tool, I like it!) and here is the the failing RPC request:

            Code:
            {
                "actionURL":"http://127.0.0.1:8888/rfi/sc/IDACall", 
                "showPrompt":true, 
                "prompt":"Finding Records that match your criteria...", 
                "transport":"xmlHttpRequest", 
                "useSimpleHttp":true, 
                "promptStyle":"dialog", 
                "httpMethod":"POST", 
                "contentType":"text/xml", 
                "httpHeaders":{
                    "SOAPAction":"\"\""
                }, 
                "sendNoQueue":true, 
                "bypassCache":true, 
                "data":"<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' \n          xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n          xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><soap:Header></soap:Header>\r    <soap:Body\n                 xmlns:ns0=\"http://service.icmt.com/\">\r        \r        <ns0:readAllNations/>\r    </soap:Body>\r</soap:Envelope>"
            }
            and here is the corresponding response:

            Code:
            <BR>com.isomorphic.servlet.IDACall top-level exception<BR>
            <PRE>
            java.lang.Exception: Non-RPC request ignored.
            	at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1110)
            	at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:234)
            	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:90)
            	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
            	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
            	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
            	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
            	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
            	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
            	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
            	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
            	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
            	at org.mortbay.jetty.Server.handle(Server.java:324)
            	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
            	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
            	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
            	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
            	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
            	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
            	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
            </PRE>
            Whis is it expecting an <init> element? This is strange to me because if I submit the same SOAP request to my webservice (using external tools such as soapui) I get the correct SOAP response.

            Any hints? Thank you so much!

            Comment


              #7
              I am trying to invoke the same webservice operation from the WSDL tab in the developer console and I'm getting the same error, which makes me suppose that the error is in the smartgwt/smartclient configuration rather than in my code.

              Here is what I get in my firefox 3.6.3 javascript console:

              Error: mismatched tag. Expected: </init>.
              Source File: http://127.0.0.1:8888/rfi/sc/system/helpers/Log.html
              Line: 28, Column: 3
              Source Code:
              </PRE>

              Error: _1 is null
              Source File: http://127.0.0.1:8888/rfi/sc/system/development/ISC_DataBinding.js?isc_version=8.0-2.2.js
              Line: 989

              Line 989 is:
              _1.addNamespaces(this.getOutputNamespaces(_6));if(_4.xmlNamespaces){_1.addNamespaces(_4.xmlNamespaces)}

              I'm using the last smartgwt 2.2 available from google code.

              Comment


                #8
                You've said you're using the LGPL version but you've got errors that clearly indicate you've got server components installed (the IDACall servlet). What did you actually download and what did you do to install it?

                When you say "if I submit the same SOAP request to my webservice (using external tools such as soapui) I get the correct SOAP response" are you talking about capturing the SOAP message generated by SmartGWT and using SOAP UI to contact the service? Or do you mean just filling in a form generated by SOAP UI (no SmartGWT involved)?

                So far, these errors seem to indicate that you are not successfully contacting your WSDL service at all. The error appears to be SmartGWT receiving an error message from Jetty and trying to process it as though it were a WSDL response.

                First of all, is the web service running on the same host as the host that serves your SmartGWT page (localhost in this case)? If it's not, you will need a server-side proxy to enable you to contact the service. This is built into SmartGWT Pro/EE, but will only be active if your installation is correct, especially your .gwt.xml imports - see this setup guide.

                Comment


                  #9
                  Sorry for being unclear in the previous post!
                  Yes, I captured the soap request generated by smartgwt and submitted it to the server using soapui, in this way I got the expected soap response.

                  About my smartgwt/smartclient environment, as I told you before, the smartgwt EE evaluation I downloaded some days ago is unexpectedly expired. So I downloaded the latest SmartGWT LGPL from
                  http://code.google.com/p/smartgwt/downloads/list
                  Then I referenced smartgwt.jar and smartgwt-skins.jar as libraries in my Eclipse GWT web application project, added the following inherits to my .gwt.xml file:

                  <inherits name='com.smartgwt.SmartGwt'/>
                  <inherits name='com.smartgwt.tools.SmartGwtTools'/>

                  Then I compiled it and ran it under a weblogic server development instance (the same instance where my webservice is running, so as to avoid SOP violation). The behavior was the same I described in my first post (i.e. fields are loaded as column headers, but data is not fetched) with a difference: no error message appeared somewhere, and I had no idea on how to see the error.
                  So I supposed that some server component could be needed (am I wrong?) and I found the IDACall class inside isomorphic_core_rpc.jar shipped with SmartClient 7.0RC2 LGPL. So I copied that jar and its dependencies into my WEB-INF\lib, then declared the smartclient init servlet and IDACall servlet in web.xml. After redeploy and launch I got the error just described in my last post.

                  I hope that my previous post is a bit more clear now, anyway, sorry for my english.

                  Thank you again,

                  Davide

                  Comment


                    #10
                    OK, you've gotten yourself into a complex mixed state that isn't supported. Either grab the latest Pro/EE nightly, or the latest LGPL nightly, and rebuild the project completely from that. Never mix resources from these two editions.

                    The root cause still appears to be that SmartGWT does not know the location at which it should contact the service. It looks like you have only a SOAP 1.2 binding shown; try allowing either SOAP 1.0/1.1 or 1.2 bindings.

                    Comment


                      #11
                      WOW! I was finally able to invoke my webservice operation and get the data in my ListGrid!
                      I added a SOAP 1.1 Http binding as you suggested and all is OK now!

                      However, is SOAP 1.2 supported in the latest EE version?

                      About my current configuration, I did not mix EE with LGPL binaries; I created a brand new GWT Eclipse project and deployed into it only LGPL stuff, grabbed from SmartGWT LGPL nightly and SmartClient 7.0RC2 LGPL. (By the way, do you release any nightly builds for SmartClient LGPL? I found nightly builds only for SmartGWT LGPL and SmartGWT Pro/EE)
                      I have to deal with this configuration for some time, until the purchase dept of my company approves my request and issues the order to your company.

                      Comment


                        #12
                        Good to here.

                        So far you're the only one we've had ask for soap 1.2 support, most people are exposing services that allow either version. Consider Feature Sponsorship if it's important to you.

                        On your setup, you should never mix SmartClient ad SmartGWT releases - each is self contained. The server functionality you're using is not LGPL functionality. As it says on the download page, the SmartClient LGPL release contains server side resources in order to power some free tools, but you can't include the functionality in your app. The full breakdown and a FAQ is at smartclient.com/product.

                        Comment

                        Working...
                        X