GoogleSearch.wsdl

Hi Experts,
i read a lot of threats concerning consuming of webservices in ABAP. But I didn`t get clear answers about the restrictions in .wsdl files in ABAP.
I want to consume GoogleSearch.wsdl in ABAP. But I get errors while generating webservice proxy. Now i read that GoogleSearch.wsdl is in rpc/encoded style and ABAP does only support document/literal style. Is that right?
Is there a GoogleSearch.wsdl file in document/literal style? If yes, what does it exactly look like? Has anybody the GoogleSearch webservice in use with ABAP?
Thanks for your help!
Tobi

Hi,
as you can read on http://code.google.com/apis/soapsearch/api_faq.html
As of December 5, 2006, we are no longer issuing new API keys for the SOAP Search API. Developers with existing SOAP Search API keys will not be affected.
You are getting this 407 (Proxy Authentication Required).
As you can read:
+. How do I get access to the Google SOAP Search API service?+
We are no longer issuing new API keys for the SOAP Search API. (Developers with existing SOAP Search API keys will not be affected.) Depending on your application, the AJAX Search API may be a better choice for you instead. It tends to be better suited for search-based web applications and supports additional features like Video, News, Maps, and Blog search results.
So if you have no license key, you have no chance to get a new one.....

Similar Messages

  • GoogleSearch WSDL and "Bad envelope tag:  definitions" Error

    Hi folks - I'm at my wits end with this. I'm dynamically accessing a WSDL, generating and compiling the stub code, loading it in via reflection, and trying to use it's methods.
    Now, it seems whatever I do I get a "Bad envelope tag: definitions" error when I invoke the remote method. This occurs whether I do the invocation through WSIF, Axis api, or just using reflection and only using Axis for the type mapping.
    Obviously this is a complex situation, but any help anyone can provide would be fantastic.
    Lee
    Message was edited by: Lee
    Just to further embellish - its a SaxException, and the WSDL doc and web service I use to practice is the standard Google one. Thanks.

    >> Does anyone have any experience of intergration with Tririga or has come across this error before?
    Yes, I worked with TRIRIGA and its Business connect API.
    Question:
    Why do you use SOAP Axis adapter not SOAP Adapter? Is there any reason for it?
    This issue seems to be at your end not at TRIRIGA side.
    Suggestion: Please specify wsdl url properly in your SOAP receiver CC.  Also first import wsdl and test via XMLSPY or soapui client and see how that works. Then go for PI unit testing.
    Are u using runNamedQuery? or something?
    I would use PROXY to SOAP Synchronous for this.
    Just my few cents.
    Baskar

  • WSDL VALIDATION FAILS GoogleFlow

    WhenI try to validate this WSDL I got :
    Invalid namespace for qname: urn:doGoogleSearchResponse
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="GoogleFlow"
    targetNamespace="http://xmlns.oracle.com/GoogleFlow"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:client="http://xmlns.oracle.com/GoogleFlow"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <import namespace="urn:GoogleSearch" location="http://api.google.com/GoogleSearch.wsdl"/>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         TYPE DEFINITION - List of services participating in this BPEL process
         The default output of the BPEL designer uses strings as input and
         output to the BPEL Process. But you can define or import any XML
         Schema type and us them as part of the message types.
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <types>
              <schema attributeFormDefault="qualified"
                   elementFormDefault="qualified"
                   targetNamespace="http://xmlns.oracle.com/GoogleFlow"
                   xmlns="http://www.w3.org/2001/XMLSchema">
                   <element name="GoogleFlowProcessRequest">
                        <complexType>
                             <sequence>
                                  <element name="input" type="string"/>
                             </sequence>
                        </complexType>
                   </element>
              </schema>
         </types>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         MESSAGE TYPE DEFINITION - Definition of the message types used as
         part of the port type defintions
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <message name="GoogleFlowRequestMessage">
              <part name="payload" element="client:GoogleFlowProcessRequest"/>
         </message>
    <message name="GoogleFlowResponseMessage">
              <part name="payload" element="tns:doGoogleSearchResponse"/>
         </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         PORT TYPE DEFINITION - A port type groups a set of operations into
         a logical service unit.
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- portType implemented by the GoogleFlow BPEL process -->
         <portType name="GoogleFlow">
              <operation name="initiate">
                   <input message="client:GoogleFlowRequestMessage"/>
              </operation>
         </portType>
         <!-- portType implemented by the requester of GoogleFlow BPEL process
         for asynchronous callback purposes
         -->
         <portType name="GoogleFlowCallback">
              <operation name="onResult">
                   <input message="tns:doGoogleSearchResponse"/>
              </operation>
         </portType>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         PARTNER LINK TYPE DEFINITION
         the GoogleFlow partnerLinkType binds the provider and
         requester portType into an asynchronous conversation.
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <plnk:partnerLinkType name="GoogleFlow">
              <plnk:role name="GoogleFlowProvider">
                   <plnk:portType name="client:GoogleFlow"/>
              </plnk:role>
              <plnk:role name="GoogleFlowRequester">
                   <plnk:portType name="client:GoogleFlowCallback"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    Any one ahs an idea?
    Please help
    Thanks

    IT would help if the people that are working this issue would post the resolve of their problems. Every post I see with this problem someone from oracle replies with needing the source project to replicate the issue and the thread dies....

  • Getting error to load wsdl from parner link

    i was try call google search web service from Jdeveloper using partner lik.
    it is giving me an error . Faied to read wsdl from http://api.google.com/GoogleSearch.wsdl. HTTP connection error code is 407.
    the wsdl can be opened from browser. Please helo

    Hi,
    though the error shows in JDeveloper, the question belongs to the BPEL forum
    BPEL
    Frank

  • WSDL validation failed, can't generate WS stub

    I've searched this forum for this and could not find anything relevant.
    I'm new to JDeveloper, and just installed 10.1.2. I have the Oracle Press book, "Oracle JDeveloper 10g handbook". In the book, chapter 14 contains a "Hands-on Practice" of creating an application that uses a web service. The example uses the Google Web APIs.
    When I get to the step to generate a web service stub from the GoogleSearch.wsdl, JDeveloper produces the following error:
    "WSDL validation failed with the following exception: The WSDL document is ill defined or incomplete and cannot be used to generate a stub."
    I've also tried the google wsdl that is available at the URL, http://api.google.com/GoogleSearch.wsdl
    It too yields the same error.
    I'm going to proceed with other WSDL files and see what happens. If anyone has any info to share on this, I would appreciate it.
    Thanks
    Morgan

    Ok, I found the problem.
    I was also getting a "can not find main class" error on startup. This thread
    Could not find the main class. Program will fail
    pointed out that you should not install JDeveloper into a folder with an embedded space. I had it subordinate to Program Files. So, I moved it from there and now it gets past the WSDL error when generating a stub from the WSDL.
    Onward!

  • SOAP Adapterd --importing wsdl file

    hi
    I am doing the following scenario, in page no 6, where do I get GoogleSearch.wsdl to import ?
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79

    Hi,
    istead of copy the file from browser, you can get the valid file from the below link
    http://www.phpclasses.org/browse/file/6180.html, it is free , plz subscribe and download.
    also
    http://code.google.com/apis/soapsearch/api_faq.html -- valid
    also
    www.onlamp.com/security/2004/10/07/examples/GoogleSearch.wsdl
    api.google.com/GoogleSearch.wsdl
    www.soapclient.com/xml/googleSearch.wsdl
    Regards
    Chilla

  • Web service using an external api (WSDL)

    Hi,
    Need to use a web service from google. I have the wsdl file with me.
    1. Since I am not clear on web services - need a step - by - step procedure on how to use this wsdl file in a WDA app.
    WDSL link: http://api.google.com/GoogleSearch.wsdl
    2. I also need a really simple tutorial on how to use external web services so that i can implement more of them into my application.
    Thanks.

    hi ,
    check this link ,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/244e7923-0a01-0010-5887-fe0b0c6dbb8d
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/30f1b585-0a01-0010-3d96-ad0ea291c4f9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/db785a70-0701-0010-858c-eee0ec4fe1b3
    In Web Dynpro ABAP there is nothing special about calling a web service. Unlike WD Java, there are not dedicated model object types in WD ABAP. WD ABAP simply has the ability to interact with other ABAP development object types. You can call function modules, ABAP classes, even modules in old dynpro apps.
    So calling the webservice from ABAP therefore is just the process of generating the ABAP Proxy Class. This is the same process regardless of if you want to use this proxy class from WDA or any other type of ABAP development object. You can then call the proxy class from WDA just like any other type of ABAP class. There is a service wizard option in later support package levels that includes an option for ABAP Proxy classes - although it doesn't generate the proxy class it just generates the code and context for the call to an already existing proxy class. The service wizards in WD ABAP are not required however. They are just shortcut code generators and often can't even generate a complete context for a complex web service proxy - so expect to do some manual adjustment after running the wizard.
    Regards ,
    venkat .

  • How do I use doGoogleSearch to connect to Google API

    Hello all,
    I am trying to do my final year project and I am currently having trouble connecting to the Google API using doGoogleSearch. I dont know how to use http://api.google.com/GoogleSearch.wsdl to fill in the parameters for the doGoogleSearch and then I have to use the http://api.google.com/search/beta2 to connect to Google and perform the test. Any help would be appreciated or code or links
    Thanks in advance rgds,
    Tony
    Here is my code so far...................................
    package tony_buckley_project;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.net.URI;
    import java.net.URLConnection;
    import java.util.*;
    import java.io.*;
    import org.xml.sax.*;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import com.google.soap.search.GoogleSearch;
    import com.google.soap.search.GoogleSearchResult;
    import com.google.soap.search.GoogleSearchFault;
    import com.google.soap.search.GoogleSearchResultElement;
    import com.google.soap.search.*;
    import javax.xml.soap.*;
    import javax.xml.soap.SOAPConnection;
    import javax.xml.soap.SOAPConnectionFactory;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPPart;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPBody;
    import javax.xml.soap.SOAPElement;
    import org.apache.soap.util.xml.*;
    import org.apache.soap.*;
    import org.apache.soap.rpc.*;
    import org.w3c.dom.*;
    import java.io.FileInputStream;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.messaging.URLEndpoint;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.Source;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.*;
    * <p>Title: Mr. Tony Buckley</p>
    * <p>Description: </p>
    * <p>Copyright: Copyright Tony Buckley (c) 2004</p>
    * <p>Company: Cork Institute of Technology </p>
    * @[email protected]
    * @version 1.0
    public class Applet2 extends Frame implements WindowListener , ActionListener
    TextField searchField;
    Button search , quit;
    Canvas0 canvas;
    public Applet2()
    super();
    //Set up basic window
    setTitle("Tony Buckley Final Year Project");
    setBackground(Color.white);
    setSize(500 , 400);
    addWindowListener(this);
    //Set up area with buttons
    //Search button
    Panel p1 = new Panel();
    p1.setLayout(new FlowLayout());
    searchField = new TextField("" , 15);
    p1.add(searchField);
    search = new Button("Search the web for results...");
    p1.add(search);
    search.addActionListener(this);
    //Quit button
    Panel p2 = new Panel();
    p2.setLayout(new FlowLayout());
    Button quit = new Button("Quit");
    p2.add(quit);
    quit.addActionListener(this);
    //Set up search results area
    Canvas0 canvas = new Canvas0();
    add("Center" , canvas);
    Panel p4 = new Panel();
    p4.setLayout(new GridLayout(2 , 1));
    p4.add(p1);
    p4.add(p2);
    add("South" , p4);
    }//End of constructor method public Applet2()
    public void doGoogleSearch()
    String key;
    String q;
    int start;
    int maxResults;
    boolean filter;
    String restrict;
    boolean safeSearch;
    String lr;
    String ie;
    String oe;
    public static void main(String[] args)
    Applet2 app = new Applet2();
    app.setVisible(true);
    public void actionPerformed(ActionEvent event)
    //Deals with "Quit" button
    if(event.getSource() == quit)
    dispose();
    System.exit(0);
    else if(event.getSource() == search)
    /* try
    String suggestion = search_internet .doSpellingSuggestion(spellingRequest);
    if(suggestion == null)
    System.out.println("There is no spelling suggestion in the database");
    else
    System.out.println(suggestion);
    int startResult = 100;
    search_internet.setStartResult(startResult);
    int maxResult = 5;
    search_internet.setMaxResults(maxResult);
    GoogleSearchResult result_search_internet = search_internet.doSearch();
    GoogleSearchResultElement[] resultElements = result_search_internet.getResultElements();
    int startIndex = result_search_internet.getStartIndex() - 1 - startResult;
    int endIndex = result_search_internet.getEndIndex() - 1 - startResult;
    for(int i = startIndex ; i <= endIndex; i ++)
    GoogleSearchResultElement resultElement = resultElements[(i)];
    String title = resultElement.getTitle();
    String URL = resultElement.getURL();
    System.out.println(title);
    System.out.println(URL);
    System.out.println("");
    System.out.println("Start Index = " + result_search_internet.getStartIndex());
    System.out.println("End Index = " + result_search_internet.getEndIndex());
    System.out.println(result_search_internet.toString());
    int numResults = result_search_internet.getEstimatedTotalResultsCount();
    if(result_search_internet.getEstimateIsExact())
    System.out.println("Number of results: " +numResults);
    else
    System.out.println("Estimated number of results: " +numResults);
    //catch(GoogleSearchFault gsf)
    // System.out.println("Google Search Fault: " +gsf.getMessage());
    try
    String myKey = "0RK+HoNQFHJlcbNPfxgBpcjESUWV96aO";
    String wsdl = "http://api.google.com/GoogleSearch.wsdl";
    String url = "http://api.google.com/search/beta2";
    String ns1 = "urn:GoogleSearch";
    String searchTerm;
    searchTerm = "science fiction";
    String spellingRequest = searchTerm;
    //First create the connection
    SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection connection = soapConnFactory.createConnection();
    //Create the actual message
    MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage message = messageFactory.createMessage();
    //Create objects for the message parts
    SOAPPart soapPart = message.getSOAPPart();
    SOAPEnvelope envelope = soapPart.getEnvelope();
    SOAPBody body = envelope.getBody();
    //Populate the message
    SOAPElement bodyElement = body.addChildElement(envelope.createName("doGoogleSearch" , "ns1", ns1));
    GoogleSearch search = new GoogleSearch();
    search.setKey(myKey);
    search.setQueryString(searchTerm);
    //Save the message
    message.saveChanges();
    //Send the message and get a reply
    //Set the destination
    URLEndpoint destination = new URLEndpoint(url);
    //Send the message
    SOAPMessage reply = connection.call(message, destination);
    SOAPPart sp = reply.getSOAPPart();
    SOAPEnvelope se = sp.getEnvelope();
    SOAPBody sb = se.getBody();
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    Source sourceContent = reply.getSOAPPart().getContent();
    StreamResult result = new StreamResult(System.out);
    transformer.transform(sourceContent, result);
    //Close the connection
    connection.close();
    catch(Exception e)
    System.out.println(e.getMessage());
    }//End of method actionPerformed
    public void windowClosing(WindowEvent event)
    //Deals with the window closing
    dispose();
    System.exit(0);
    }//End of method windowClosing
    public void windowOpened(WindowEvent event)
    public void windowIconified(WindowEvent event)
    public void windowDeiconified(WindowEvent event)
    public void windowClosed(WindowEvent event)
    public void windowActivated(WindowEvent event)
    public void windowDeactivated(WindowEvent event)
    }//End of class Applet2
    class Canvas0 extends Canvas
    public Canvas0()
    super();
    public void paint(Graphics g)
    Dimension d = getSize();
    Font f1 = new Font("TimesRoman" , Font.PLAIN , 14);
    Font f2 = new Font("TimesRoman" , Font.ITALIC , 14);
    FontMetrics fm1 = g.getFontMetrics(f1);
    FontMetrics fm2 = g.getFontMetrics(f2);
    String s1 = "Hello , ";
    String s2 = "World";
    int w1 =fm1.stringWidth(s1);
    int w2 =fm1.stringWidth(s2);
    g.setColor(Color.GREEN);

    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.net.URI;
    import java.net.URLConnection;
    import java.util.*;
    import java.io.*;
    import org.xml.sax.*;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import com.google.soap.search.GoogleSearch;
    import com.google.soap.search.GoogleSearchResult;
    import com.google.soap.search.GoogleSearchFault;
    import com.google.soap.search.GoogleSearchResultElement;
    import com.google.soap.search.*;
    import javax.xml.soap.*;
    import javax.xml.soap.SOAPConnection;
    import javax.xml.soap.SOAPConnectionFactory;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPPart;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPBody;
    import javax.xml.soap.SOAPElement;
    import org.apache.soap.util.xml.*;
    import org.apache.soap.*;
    import org.apache.soap.rpc.*;
    import org.w3c.dom.*;
    import java.io.FileInputStream;
    import javax.xml.transform.stream.StreamSource;
    import javax.xml.messaging.URLEndpoint;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.Source;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.*;
    Title: Mr. Tony Buckley
    Description:
    Copyright: Copyright Tony Buckley (c) 2004
    Company: Cork Institute of Technology
    * @[email protected]
    http://beingaplayer.x314.co.uk
    * @version 1.0
    public class Applet2 extends Frame implements WindowListener , ActionListener
    TextField searchField;
    Button search , quit;
    Canvas0 canvas;
    public Applet2()
    super();
    //Set up basic window
    setTitle("Tony Buckley Final Year Project");
    setBackground(Color.white);
    setSize(500 , 400);
    addWindowListener(this);
    //Set up area with buttons
    //Search button
    Panel p1 = new Panel();
    p1.setLayout(new FlowLayout());
    searchField = new TextField("" , 15);
    p1.add(searchField);
    search = new Button("Search the web for results...");
    p1.add(search);
    search.addActionListener(this);
    //Quit button
    Panel p2 = new Panel();
    p2.setLayout(new FlowLayout());
    Button quit = new Button("Quit");
    p2.add(quit);
    quit.addActionListener(this);
    //Set up search results area
    Canvas0 canvas = new Canvas0();
    add("Center" , canvas);
    Panel p4 = new Panel();
    p4.setLayout(new GridLayout(2 , 1));
    p4.add(p1);
    p4.add(p2);
    add("South" , p4);
    }//End of constructor method public Applet2()
    public void doGoogleSearch()
    String key;
    String q;
    int start;
    int maxResults;
    boolean filter;
    String restrict;
    boolean safeSearch;
    String lr;
    String ie;
    String oe;
    public static void main(String[] args)
    Applet2 app = new Applet2();
    app.setVisible(true);
    public void actionPerformed(ActionEvent event)
    //Deals with "Quit" button
    if(event.getSource() == quit)
    dispose();
    System.exit(0);
    else if(event.getSource() == search)
    /* try
    String suggestion = search_internet .doSpellingSuggestion(spellingRequest);
    if(suggestion == null)
    System.out.println("There is no spelling suggestion in the database");
    else
    System.out.println(suggestion);
    int startResult = 100;
    search_internet.setStartResult(startResult);
    int maxResult = 5;
    search_internet.setMaxResults(maxResult);
    GoogleSearchResult result_search_internet = search_internet.doSearch();
    GoogleSearchResultElement[] resultElements = result_search_internet.getResultElements();
    int startIndex = result_search_internet.getStartIndex() - 1 - startResult;
    int endIndex = result_search_internet.getEndIndex() - 1 - startResult;
    for(int i = startIndex ; i <= endIndex; i ++)
    GoogleSearchResultElement resultElement = resultElements[(i)];
    String title = resultElement.getTitle();
    String URL = resultElement.getURL();
    System.out.println(title);
    System.out.println(URL);
    System.out.println("");
    System.out.println("Start Index = " + result_search_internet.getStartIndex());
    System.out.println("End Index = " + result_search_internet.getEndIndex());
    System.out.println(result_search_internet.toString());
    int numResults = result_search_internet.getEstimatedTotalResultsCount();
    if(result_search_internet.getEstimateIsExact())
    System.out.println("Number of results: " +numResults);
    else
    System.out.println("Estimated number of results: " +numResults);
    //catch(GoogleSearchFault gsf)
    // System.out.println("Google Search Fault: " +gsf.getMessage());
    try
    String myKey = "0RK+HoNQFHJlcbNPfxgBpcjESUWV96aO";
    String wsdl = "http://api.google.com/GoogleSearch.wsdl";
    String url = "http://api.google.com/search/beta2";
    String ns1 = "urn:GoogleSearch";
    String searchTerm;
    searchTerm = "science fiction";
    String spellingRequest = searchTerm;
    //First create the connection
    SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection connection = soapConnFactory.createConnection();
    //Create the actual message
    MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage message = messageFactory.createMessage();
    //Create objects for the message parts
    SOAPPart soapPart = message.getSOAPPart();
    SOAPEnvelope envelope = soapPart.getEnvelope();
    SOAPBody body = envelope.getBody();
    //Populate the message
    SOAPElement bodyElement = body.addChildElement(envelope.createName("doGoogleSearch" , "ns1", ns1));
    GoogleSearch search = new GoogleSearch();
    search.setKey(myKey);
    search.setQueryString(searchTerm);
    //Save the message
    message.saveChanges();
    //Send the message and get a reply
    //Set the destination
    URLEndpoint destination = new URLEndpoint(url);
    //Send the message
    SOAPMessage reply = connection.call(message, destination);
    SOAPPart sp = reply.getSOAPPart();
    SOAPEnvelope se = sp.getEnvelope();
    SOAPBody sb = se.getBody();
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    Source sourceContent = reply.getSOAPPart().getContent();
    StreamResult result = new StreamResult(System.out);
    transformer.transform(sourceContent, result);
    //Close the connection
    connection.close();
    catch(Exception e)
    System.out.println(e.getMessage());
    }//End of method actionPerformed
    public void windowClosing(WindowEvent event)
    //Deals with the window closing
    dispose();
    System.exit(0);
    }//End of method windowClosing
    public void windowOpened(WindowEvent event)
    public void windowIconified(WindowEvent event)
    public void windowDeiconified(WindowEvent event)
    public void windowClosed(WindowEvent event)
    public void windowActivated(WindowEvent event)
    public void windowDeactivated(WindowEvent event)
    }//End of class Applet2
    class Canvas0 extends Canvas
    public Canvas0()
    super();
    public void paint(Graphics g)
    Dimension d = getSize();
    Font f1 = new Font("TimesRoman" , Font.PLAIN , 14);
    Font f2 = new Font("TimesRoman" , Font.ITALIC , 14);
    FontMetrics fm1 = g.getFontMetrics(f1);
    FontMetrics fm2 = g.getFontMetrics(f2);
    String s1 = "Hello , ";
    String s2 = "World";
    int w1 =fm1.stringWidth(s1);
    int w2 =fm1.stringWidth(s2);
    g.setColor(Color.GREEN);

  • How to Consume a WebService in JSP DynPage

    Hi Friends,
    We have created a Web Service and We want to Consume that in my JSP Dyn Page.
    Please let me know how to consume the Web Services that are created.
    I am having a WSDL File and need to consume it in Enterprise Portal Applications.
    Thanks in Advance.
    Regards,
    Palani

    Hi Palani,
       Create a Portal Application and access the External Web Service (Say for example, http://api.google.com/GoogleSearch.wsdl ).  Create the Portal Application Object -> Portal Web Service -> Portal WebService from wsdl file -> Client Side -> Enter the Wsdl file as http://api.google.com/GoogleSearch.wsdl -> Select the methods to expose -> Enter the service name, Alias and package name should be a unique one. and finish.
    Create bean to set the values.
    In your JSPDynpage Component enter the following code:
    public void doInitialization(){
       YourServiceName obj=(YourServiceName) PortalRuntime.getRuntimeResources().getService(YourServiceName.KEY);
      MyBean beanObj = new MyBean();
      beanObj.setterMethod(obj.calltheMethodinWSDL());
    And in your JSP page, call the bean getter method.
      It's overview only, you can do it.
    Regards,
    Venkatesh. K

  • Message Data Type mapping

    Hello there,
      My scenario is SOAP-XI-SOAP.  After doing configuration, I was alble to send the message to server.  However, I was not able retrieve data at return.
      The following are two xml message that I got from server response and from XI.
    1. From SERVER response message.
    <ns1:doSpellingSuggestionResponse xmlns:ns1='urn:GoogleSearch' xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/' SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><return xsi:type='xsd:string'>Yahoo!!!</return></ns1:doSpellingSuggestionResponse>
    2. From XI
    <ns:doSpellingSuggestionResponse xmlns:ns="http://xi.com/googlesearch"></ns:doSpellingSuggestionResponse>
      I believe there is something wrong with my data type definition at XI design.  I followed the example "How To… Use the XI 3.0 SOAP Adapter".
      Would anyone please tell me how to define Data Type at XI for data response?  Besides, does it have anything to do with Mapping Template.
      Please advise.
      Thank you very much.
    trith.

    Satish,
      I agree with you.  I saw the difference between the response message at the Message Mapping and Message response :
      At Message Mapping, the xml message is displayed as :
    <ns0:return xmlns:ns0="urn:GoogleSearch"/>
      At runtime, the message response is:
    <ns1:doSpellingSuggestionResponse xmlns:ns1='urn:GoogleSearch' xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/' SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><return xsi:type='xsd:string'>Yahoo!!!</return></ns1:doSpellingSuggestionResponse>
      The wsdl external definition which I got from :
    http://api.google.com/GoogleSearch.wsdl
      If you said there is some problem with xsd, how I am supposed to fix that?  Would you please give me more hints?
      Thank you very much.
    trith.

  • Problem with a text field check

    When there is nothing placed inside the text field it will return a message dialog box saying that there is nothing located inside the text field. However if there is something inside the text field it will perform a
    doSpellingSuggestion and write the results to a .txt file.
    This works as the search term can be found within the .txt file.
    However when I try to display a message dialog box to display the contents of the .txt file that contains the spelling suggestion it will come out with an error from the catch statement
    catch(Exception spelling_error)
    JOptionPane.showMessageDialog(null , "Spelling error = " +
    spelling_error.getMessage());
    It keeps showing an error message box saying "Spelling error = null"
    It wont go past this line and thats the problem that i have. I tryed putting
    I tried substituting this in place of the error message above but it wouldnt go down to it
    //Display a message with a spelling suggestion
    JOptionPane.showMessageDialog(null , "Did you mean to spell " +
    search_term + " like this " + buffer.toString());
    but this didnt work
    class spellcheck_button_listener implements ActionListener
    public void actionPerformed(ActionEvent spelling_check)
    try
    String myKey = "0RK+HoNQFHJlcbNPfxgBpcjESUWV96aO";
    String wsdl = "http://api.google.com/GoogleSearch.wsdl";
    String url = "http://api.google.com/search/beta2";
    String ns1 = "urn:GoogleSearch";
    String ns2 = "urn:GoogleSearch";
    if((search_field.getText() == null) || (search_field.getText().equals("")))
    JOptionPane.showMessageDialog(null , "No search term entered in text field"
    + " please enter another search term");
    else
    search_term = search_field.getText();
    //Create the connection
    SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection connection = soapConnFactory.createConnection();
    //Create the actual message
    MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage message = messageFactory.createMessage();
    //Create objects for the message parts
    SOAPPart soapPart = message.getSOAPPart();
    SOAPEnvelope envelope = soapPart.getEnvelope();
    SOAPBody bodyName = envelope.getBody();
    SOAPElement bodyElement;
    //Populate the message by adding SOAP body elements to form a semantically meaning
    //SOAP request
    bodyElement = bodyName.addBodyElement(envelope.createName("doSpellingSuggestion" , "ns1" , ns1));
    //Adding content to the message
    //addTextNode used when entering strings , addAttribute used for integers
    bodyElement.addChildElement(envelope.createName("key")).addTextNode(myKey);
    bodyElement.addChildElement(envelope.createName("q")).addTextNode(search_term);
    //Send the message and get a reply
    URLEndpoint endpoint = new URLEndpoint(url);
    //Send the message
    SOAPMessage reply = connection.call(message , endpoint);
    //Getting the content of a Message
    SOAPPart sp = reply.getSOAPPart();
    SOAPEnvelope env = sp.getEnvelope();
    SOAPBody replyBody = reply.getSOAPPart().getEnvelope().getBody();
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Source styleSheet = new StreamSource(translate_file);
    Transformer transformer = transformerFactory.newTransformer(styleSheet);
    Source sourceContent = reply.getSOAPPart().getContent();
    StreamResult result = new StreamResult(spell_check_file);
    transformer.transform(sourceContent, result);
    java.util.Iterator iterator = replyBody.getChildElements();
    while (iterator.hasNext())
    bodyElement = (SOAPBodyElement)iterator.next();
    String url_results = bodyElement.getValue();
    //Close the connection
    connection.close();
    FileReader inputFile = new FileReader(spell_check_file);
    buffer = new StringBuffer();
    // write new list to standard out
    BufferedReader in = new BufferedReader(inputFile);
    String input;
    while ((input = in.readLine()) != null)
    if(!input.startsWith("<?xml version"))
    // Skip XML header
    buffer.append(input + "\n");
    in.close();
    //Display a message with a spelling suggestion
    JOptionPane.showMessageDialog(null , "Did you mean to spell " + search_term +
    " like this " + buffer.toString());
    } //End of else statement
    } //End of try method for search action performed
    catch(Exception spelling_error)
    JOptionPane.showMessageDialog(null , "Spelling error = " +
    spelling_error.getMessage());
    } //End of method actionPerformed for search button
    } //End of class spellcheck_button_listener implements ActionListener

    I don't use SOAP, so I can't test your code.
    If you really want people to read your code then it should be [url http://forum.java.sun.com/features.jsp#Formatting]formatted so it is readable with correct indentation of lines and highlighting of the source code.

  • SOAP receiver adapter error using Google Search web service

    Hi all,
    I'm trying to connect and old 4.5b system to XI SP16 to make it receive information from external Web Services.
    My scenario is made up of a sender RFC adapter and a SOAP receiver which is sending the message to the Google web service (http://api.google.com/GoogleSearch.wsdl) and then awaiting a response from it.
    I'm stuck with this error: "No Deserializer found to deserialize a ':key'". The problem is that XI is sending this kind of message:
              <m:doGoogleSearch xmlns:m="urn:GoogleSearch" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                   <key>mykey</key>
                   <q>testing</q>
                   <start>0</start>
                   <maxResults>1</maxResults>
                   <filter>true</filter>
                   <restrict>String</restrict>
                   <safeSearch>true</safeSearch>
                   <lr>String</lr>
                   <ie>String</ie>
                   <oe>String</oe>
              </m:doGoogleSearch>
    while Google is expecting this:
              <m:doGoogleSearch xmlns:m="urn:GoogleSearch" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                   <key xsi:type="xsd:string">mykey</key>
                   <q xsi:type="xsd:string">testing</q>
                   <start xsi:type="xsd:int">0</start>
                   <maxResults xsi:type="xsd:int">1</maxResults>
                   <filter xsi:type="xsd:boolean">true</filter>
                   <restrict xsi:type="xsd:string">String</restrict>
                   <safeSearch xsi:type="xsd:boolean">true</safeSearch>
                   <lr xsi:type="xsd:string">String</lr>
                   <ie xsi:type="xsd:string">String</ie>
                   <oe xsi:type="xsd:string">String</oe>
              </m:doGoogleSearch>
    with explicitly declared xsi:type.
    I've tested both messages with XMLSpy and the first one is always returning the same error.
    Is there a way to make XI send an XML message with written xsi:type?
    Many thanks in advance!
    Max

    Hi Ricardo!
    I followed your suggestion to create a simple XSLT mapping program (in the ABAP stack) and I added it to the Interface Mapping in the Integration Repository. The result is exactly the soap message that the Google web-service is expecting.
    I'm attaching the XSLT code below in case somebody has the same problem... thanks again for your hint!!
    Regards!
    Max
    <xsl:transform version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:sap="http://www.sap.com/sapxsl"
    >
    <xsl:strip-space elements="*"/>
    <xsl:template match="/">
    <ns1:doGoogleSearch xmlns:ns1="urn:GoogleSearch" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
          <key xsi:type="xsd:string"> <xsl:value-of select= "//key"/> </key>
          <q xsi:type="xsd:string"> <xsl:value-of select= "//q"/> </q>
          <start xsi:type="xsd:int"> <xsl:value-of select= "//start"/> </start>
          <maxResults xsi:type="xsd:int"> <xsl:value-of select= "//maxResults"/> </maxResults>
          <filter xsi:type="xsd:boolean"> <xsl:value-of select= "//filter"/> </filter>
          <restrict xsi:type="xsd:string"> <xsl:value-of select= "//restrict"/> </restrict>
          <safeSearch xsi:type="xsd:boolean"> <xsl:value-of select= "//safeSearch"/> </safeSearch>
          <lr xsi:type="xsd:string"> <xsl:value-of select= "//lr"/> </lr>
          <ie xsi:type="xsd:string"> <xsl:value-of select= "//ie"/> </ie>
          <oe xsi:type="xsd:string"> <xsl:value-of select= "//oe"/> </oe>
       </ns1:doGoogleSearch>
    </xsl:template>
    </xsl:transform>

  • Another problem with SOAP sender

    I have another problem with SOAP scenario in a different environment (PI 7.0) from my earlier post.
    Scenario:
    Soap Sender -> PI -> Soap Receiver
    Following steps from GoogleSearch SOAP scenario in the SAP How-to Guide for SAP NetWeaver '04 entitled: "How To... Use the XI 3.0 SOAP Adapter" version 1.00 - March 2006.
    I have loaded in the api.google.com/GoogleSearch.wsdl file as an External definition and created the SOAP receiver as described in the How-to guide.  It takes a doGoogleSearch as input and sends back a doGoogleSearchResponse (Sync Call). 
    Note that the GoogleSearch.wsdl contains a complex type ResultElementArray that refers to ResultElement\[\], and a DirectoryCategoryArray that refers to DirectoryCategory\[\].  The ResultElement and DirectoryCategory types are defined in the GoogleSearch.wsdl file.
    Problem One:
    The generated WSDL for the SOAP sender contains the ResultElementArray and DirectoryCategoryArray types but it DOES NOT contain the required ResultElement and DirectoryCategory types.  XML Spy complains that this WSDL is not valid because the type ResultElement\[\] is not defined.
    Problem Two:
    I generate a SOAP message in XML Spy, provide values for the doGoogleSearch fields, and send.  In SXMB_MONI, the SOAP sender payload contains only the <key> value from the doGoogleSearch message body, i.e. <part name="key" type="xsd:string" />
    The other doGoogleSearch fields seem to be missing, i.e.
      <part name="q" type="xsd:string" />
      <part name="start" type="xsd:int" />
      <part name="maxResults" type="xsd:int" />
      <part name="filter" type="xsd:boolean" />
      <part name="restrict" type="xsd:string" />
      <part name="safeSearch" type="xsd:boolean" />
      <part name="lr" type="xsd:string" />
      <part name="ie" type="xsd:string" />
      <part name="oe" type="xsd:string" />
    Does anyone know why:
    (1) PI/XI seems to leave out the ResultElement and DirectoryCategory types from the SOAP sender service WSDL file?
    (2) The doGoogleSearch message seen in SXMB_MONI contains only the first <key> field, and not the other fields?
    Thanks for any help with this.

    I have another problem with SOAP scenario in a different environment (PI 7.0) from my earlier post.
    Scenario:
    Soap Sender -> PI -> Soap Receiver
    Following steps from GoogleSearch SOAP scenario in the SAP How-to Guide for SAP NetWeaver '04 entitled: "How To... Use the XI 3.0 SOAP Adapter" version 1.00 - March 2006.
    I have loaded in the api.google.com/GoogleSearch.wsdl file as an External definition and created the SOAP receiver as described in the How-to guide.  It takes a doGoogleSearch as input and sends back a doGoogleSearchResponse (Sync Call). 
    Note that the GoogleSearch.wsdl contains a complex type ResultElementArray that refers to ResultElement\[\], and a DirectoryCategoryArray that refers to DirectoryCategory\[\].  The ResultElement and DirectoryCategory types are defined in the GoogleSearch.wsdl file.
    Problem One:
    The generated WSDL for the SOAP sender contains the ResultElementArray and DirectoryCategoryArray types but it DOES NOT contain the required ResultElement and DirectoryCategory types.  XML Spy complains that this WSDL is not valid because the type ResultElement\[\] is not defined.
    Problem Two:
    I generate a SOAP message in XML Spy, provide values for the doGoogleSearch fields, and send.  In SXMB_MONI, the SOAP sender payload contains only the <key> value from the doGoogleSearch message body, i.e. <part name="key" type="xsd:string" />
    The other doGoogleSearch fields seem to be missing, i.e.
      <part name="q" type="xsd:string" />
      <part name="start" type="xsd:int" />
      <part name="maxResults" type="xsd:int" />
      <part name="filter" type="xsd:boolean" />
      <part name="restrict" type="xsd:string" />
      <part name="safeSearch" type="xsd:boolean" />
      <part name="lr" type="xsd:string" />
      <part name="ie" type="xsd:string" />
      <part name="oe" type="xsd:string" />
    Does anyone know why:
    (1) PI/XI seems to leave out the ResultElement and DirectoryCategory types from the SOAP sender service WSDL file?
    (2) The doGoogleSearch message seen in SXMB_MONI contains only the first <key> field, and not the other fields?
    Thanks for any help with this.

  • File Adapter Wizard Step 4

    I'd like to write out a message variable to a file. When I use the file adapter, the wizard asks for a schema in step 4. There is no xsd schema defined for the message.
    I tried using the "Schema is Opaque" checkbox to create the partnerlink but then I get a type mismatch between the message I want to write out and the opaque "Write_msg" of the adapter.
    What should I do to write out a message using the file adapter when there is no xsd? How do I get past step 4 in the wizard? Is there an example somewhere?
    Thanks,
    Bret

    Google's wsdl is available for download to the local file system. It's not available dynamically via an API, at least not that I've been able to find. Perhaps because they require you to sign a license agreement checkbox and access via an API would not satisfy their legal department? I guess we need a new WS* specification: WS-Legal or WS-Licensing.
    I did create my partner link just as you described. My local file is called GoogleSearch.wsdl and the partner link wizard creates a file called GoogleSearchRef.wsdl. But there is no xsd created.
    Maybe the only workaround is to chop the message definition out of the wsdl file and manually create an xsd. But that would be a severe support workload, since Google's wsdl may change from time to time and a new xsd would then have to be generated. Perhaps the process of generating an xsd from a wsdl could be automated. What do you think?
    Message was edited by:
    Bret

  • Problem using my own webservice in webflow definition

    Hi,
    I am trying to register an external webservice using WFWS transaction, but in some cases WSDL definition is not well-recognized by SAP.
    For example, I can import google service (http://api.google.com/GoogleSearch.wsdl) but I can't use Amazon service (http://soap.amazon.com/schemas3/AmazonWebServices.wsdl).
    I can't use any webservice that I have made using developer studio due to a similar reason.
    Can anyone help me?
    Thanks,

    I just seen an error in the code above, I've forget 1 line.
    But the problem remain the same.
    Toolkit tlk;
    Image img;
    Cursor cur;
    tlk = getToolkit(); // I've also tried : tlk = Toolkit.getDefaultToolkit();
    img = tlk.getImage( "dndred.gif" ); // the file exists, it is displayed on the Canvas
    cur = tlk.createCustomCursor( img, new Point( 1, 1 ), "DragAndDrop" ); // Exception when running
    setCursor( cur );
    Please help me.

Maybe you are looking for