Hi Krishna,
Is it possible for you to capture the SOAP message sent by client
as well as that sent by the server?
Samisa...
On Fri, 25 Feb 2005 22:11:18 -0600, krishna <[EMAIL PROTECTED]> wrote:
> Hi
>
> I am trying to develop a Simple Client for Google Search Service using
> AXIS.I have downloaded the Google API and registered with Google.I ran
> the following simple program given below but it seems to error out.
>
> Tried using the example in the Google API and it works fine!! which implies
> that i am doing something wrong.Cant figure out what.
>
> #include <iostream>
> #include "GoogleSearchPort.hpp"
>
> using namespace std;
>
> int main()
> {
> try{
> GoogleSearchResult *GSR1; //to store Google Search Result
> GoogleSearchPort GSP1; //Google Search Port
> GSR1=GSP1.doGoogleSearch((axiscpp::xsd__boolean)true,
> <my API key>,
> "no",
> 1,
> "utf",
> (axiscpp::xsd__boolean)false,
> "blank",
> 10,
> "blank",
> "UIC");
>
> }catch(GoogleSearchService_AxisClientException e)
> {
> cout<<"\n This is an Exceptioncode :"<<e.getExceptionCode();
> cout<<"\n This is the Exception
> :"<<e.getMessage(e.getExceptionCode());
> cout<<"\n e.what()"<<e.what();
> }
>
> }
>
> I do understand that the order of the parameters is not as per the
> google wsdl but it is done this way because the axis client has
> generated it in the order above.It will not affect as the names of the
> parameters are being sent too as it goes as XML.
>
> The client code which calls the doGoogleSearch function is given
> below(generated using WSDL2ws tool in AXIS)
>
> GoogleSearchResult* GoogleSearchPort::doGoogleSearch(xsd__boolean
> Value0, xsd__string Value1, xsd__string Value2, xsd__int Value3,
> xsd__string Value4, xsd__boolean Value5, xsd__string Value6, xsd__int
> Value7, xsd__string Value8, xsd__string Value9)
> {
> GoogleSearchResult* pReturn = NULL;
> const char* pcCmplxFaultName;
> try
> {
> if (AXIS_SUCCESS !=
> m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL))
> return pReturn;
> m_pCall->setTransportProperty(SOAPACTION_HEADER ,
> "urn:GoogleSearchAction");
> m_pCall->setSOAPVersion(SOAP_VER_1_1);
> m_pCall->setOperation("doGoogleSearch",
> "urn:GoogleSearch");
> applyUserPreferences();
> m_pCall->addParameter((void*)&Value0, "filter",
> XSD_BOOLEAN);
> m_pCall->addParameter((void*)&Value1, "key",
> XSD_STRING);
> m_pCall->addParameter((void*)&Value2, "restrict",
> XSD_STRING);
> m_pCall->addParameter((void*)&Value3, "start",
> XSD_INT);
> m_pCall->addParameter((void*)&Value4, "ie",
> XSD_STRING);
> m_pCall->addParameter((void*)&Value5, "safeSearch",
> XSD_BOOLEAN);
> m_pCall->addParameter((void*)&Value6, "lr",
> XSD_STRING);
> m_pCall->addParameter((void*)&Value7, "maxResults",
> XSD_INT);
> m_pCall->addParameter((void*)&Value8, "oe",
> XSD_STRING);
> m_pCall->addParameter((void*)&Value9, "q", XSD_STRING);
> if (AXIS_SUCCESS == m_pCall->invoke())
> {
>
> The output of the current piece of code is as follows
>
> This is an Exceptioncode :66
> This is the Exception :The GoogleSearchService service has thrown an
> exception. see details
> e.what()
>
> --
> Krishna
> www.uic.edu/~krajag2
>
>