Hi Krishna,
It would be helpfult to fix this problem if you could send the
SOAP message and the generated code that you are using.
Thanks,
Samisa,,,
On Thu, 03 Mar 2005 21:46:47 -0600, krishna <[EMAIL PROTECTED]> wrote:
> Hi Samisa
>
> I got the service to work (partially)with google by changing the
> generated stubs to the same order as that in the Google wsdl.
> The Google Service is sending me a SOAP response which I can see when i
> run tcpdump but somehow while parsing the XML it errors out with a
> segmentation fault.
>
> Cheers
> Krishna
> uic.edu/~krajag2
>
> >>>>> 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
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
>
>