You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Shailesh Srivastava <sh...@toshiba-tesi.com> on 2007/10/19 10:22:49 UTC
Bug Axiscpp1.6B - Doc/literal
Hi All,
I have developed a Web-service based on the AxisCpp 1.6b.
My WSDL specifies the style as Doc/Literal.
But the generated code always adds "Soap method" by using
"createSoapMethod". This is against the SOAP Standard.
Instead, there should be no message name (operation name) at all for
DOC/Literal type.
I tried using "serializeAsElement" (without using "createSoapMethod),
but here the simple_axis_server dumps.
Can any one suggest me how Can I get the SOAP Operation removed from the
response Packets. What Changes I need to make in the Wrapper???
The present code in my wrapper is:
int ALEServicePortTypeWrapper::getVendorVersion(void* pMsg)
{
IMessageData* mc = (IMessageData*)pMsg;
int nStatus;
IWrapperSoapSerializer* pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ)
{
return AXIS_FAIL;
}
IWrapperSoapDeSerializer* pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ)
{
return AXIS_FAIL;
}
/* check whether we have got correct message */
if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("GetVendorVersion",
"urn:epcglobal:ale:wsdl:1"))
{
return AXIS_FAIL;
}
pIWSSZ->createSoapMethod("GetVendorVersionResult",
"urn:epcglobal:ale:wsdl:1");
if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus()))
{
return nStatus;
}
try
{
xsd__string ret = pWs->getVendorVersion();
nStatus = pIWSSZ->addOutputParam("_string", ret, XSD_STRING);
return nStatus;
}
Shailesh Srivastava
Sr. Software Engineer
Ttec.soc-soft.com
Extn:3297
Mb: +919886624708