Hello,

I want to use Call:setSOAPMethodAttribute() to set (XML) attributes at the highest level of my web service call.
The relevant code snippet is

ppt->getCall()->setTransportProperty(SOAPACTION_HEADER , "#SearchRooms");
ppt->getCall()->setSOAPMethodAttribute("returnAllocationRemaining", "ns1", "true");   // <-- critical line
ppt->SearchRooms(strAgreement.get(), strSelection.get(), 0, 0, 0, strStay.get(), strRooms.get(), true_, false_, true_, false_, "ROOM", ppstrWarningArray, ppstrRoomResult);

Unfortunately this yields a segmentation fault due to the following reason:

In the course of Call:setSOAPMethodAttribute() the class Call member m_pIWSSZ is accessed.
But this member (as well as m_pIWSDZ) is not (never?) initialized and voila crash.
If i look at the Stub constructor (ppt is of type PegsPortType which is derived from Stub) i see

m_pCall = new Call ();
m_pCall->setProtocol (eProtocol);

What i wonder now is if between this two lines the additional line

m_pCall->initialize(); // contains code to initialize m_pIWSSZ and m_pIWSDZ)

should perhaps be applied?

Note that the (generated from WSDL/XSD) call
ppt->SearchRooms(strAgreement.get(), strSelection.get(), 0, 0, 0, strStay.get(), strRooms.get(), true_, false_, true_, false_, "ROOM", ppstrWarningArray, ppstrRoomResult);
contains function call parameters for attributes like "returnAllocationRemaining", but they are not used in the function body (i have already filed a JIRA for this omission).

Comments?

Best regards

Franz

begin:vcard
fn:Dr. Franz Fehringer
n:Fehringer;Franz
org:ISO Software Systeme
adr;quoted-printable:;;Eichendorffstrasse 29;N=C3=BCrnberg;;90491;Deutschland
email;internet:mailto:[EMAIL PROTECTED]
tel;work:+49/(911) - 99594-0 
tel;fax:+49/(911) - 99594-580
x-mozilla-html:TRUE
url:http://www.isogmbh.de/
version:2.1
end:vcard


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to