axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Susantha Kumara" <susan...@opensource.lk>
Subject RE: Client Access Violation
Date Wed, 30 Jun 2004 05:06:05 GMT
Yes you are always welcome to submit patches. You can also add your
patch (diff file) as an attachment to the bug at Jira. Also send me the
diff.

Thanks,

Susantha.

> -----Original Message-----
> From: Robert Sanford [mailto:rsanford@trefs.com]
> Sent: Tuesday, June 29, 2004 8:19 PM
> To: Apache AXIS C User List
> Subject: RE: Client Access Violation
> 
> I have not yet entered it in Jira but will do so later today.
> 
> Would you also like me to submit a patch? I have an idea of how to
handle
> the situation that won't require a modification to the method
signatures
> and
> am willing to code and submit it. Since I'm not working out of CVS I
would
> simply post the entire method directly to you for review.
> 
> If you want me to pursue this please send me a private email.
> 
> Many thanks!
> 
> rjsjr
> 
> > -----Original Message-----
> > From: Susantha Kumara [mailto:susantha@opensource.lk]
> > Sent: Monday, June 28, 2004 10:50 PM
> > To: 'Apache AXIS C User List'
> > Subject: RE: Client Access Violation
> >
> >
> > Hi Robert,
> >
> > This is a bug. This is unhandled situation. Thanks a lot for
> > tracking it down. Have you entered this as a bug at Jira ?.
> > If not please add it.
> >
> > Susantha.
> > ---
> >
> > > -----Original Message-----
> > > From: Robert Sanford [mailto:rsanford@trefs.com]
> > > Sent: Saturday, June 26, 2004 3:41 AM
> > > To: axis-c-user@ws.apache.org
> > > Subject: Client Access Violation
> > >
> > > All,
> > >
> > > I've previously used the Axis Java client code to great
> > success but am
> > now
> > > trying to work through a simple SOAP client in C++ and having
great
> > > difficulty and am receiving an Access Violation. Using the
> > Visual C++
> > > debugger I trace the code down into
> > >   SoapSerializer::operator <<(const AxisChar* cSerialized)
> > >
> > > And see that the violation is occuring at:
> > >    strcat((char*)m_pSZBuffers[m_nCurrentBufferIndex].buffer,
> > >    cSerialized);
> > >
> > > I am trying to send up an XSD_STRING parameter that is the
> > contents of
> > a
> > > file. After escaping the size of the buffer is just under 11,000
> > bytes. In
> > > digging through the source code it appears to me that the
> > size of the
> > > buffer that the strcat is attempting to go into is 1024 bytes
which
> > > will
> > result
> > > in
> > > an access violation as I ingloriously overwrite memory. I'm
guessing
> > this
> > > because previous in the method I see
> > >     int iTmpSerBufferSize = strlen(cSerialized);
> > >     if((m_nFilledSize + iTmpSerBufferSize)>= m_nCurrentBufferSize)
> > >
> > > And m_nCurrentBufferSize is 1024 which is what is allocated when
> > > SetNextSerializeBuffer is called.
> > >
> > > Basically, I don't see anything that is taking the size of
> > what I want
> > to
> > > send into account.
> > >
> > > Please tell me that I'm missing something. My code is amazingly
> > simplistic
> > > and is copied below my sig.
> > >
> > > Many thanks!
> > >
> > > rjsjr
> > >
> > > m_pCall = new Call();
> > >
> > > m_pCall->SetProtocol(APTHTTP);
> > >
> > m_pCall->SetEndpointURI("http://localhost/soap/services/Reques
> > tDispatch"
> > );
> > >
> > > Ret = m_pCall->Initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL); if
> > > (AXIS_SUCCESS != Ret)
> > > 	return Ret;
> > >
> > > m_pCall->SetSOAPVersion(SOAP_VER_1_1);
> > > m_pCall->SetOperation("dispatch", "http://soapinterop.org/");
> > > m_pCall->AddParameter(&xmlDoc, "arg0", XSD_STRING);
> > >
> > > if (AXIS_SUCCESS == m_pCall->Invoke())
> > > {
> > > 	if(AXIS_SUCCESS == m_pCall->CheckMessage("dispatch",
> > > "http://localhost/soap/services/RequestDispatch"))
> > > 	{
> > > 		AxisChar* ret = m_pCall->GetElementAsString("dispatch",
> > 0);
> > > 	}
> > > }
> > >
> > > m_pCall->UnInitialize();
> >
> >


Mime
View raw message