You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "nadir amra (JIRA)" <ax...@ws.apache.org> on 2008/02/22 05:04:19 UTC

[jira] Resolved: (AXISCPP-1046) WSDD - Error occurs when deploy web services using AdminClient and AdminService!

     [ https://issues.apache.org/jira/browse/AXISCPP-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nadir amra resolved AXISCPP-1046.
---------------------------------

       Resolution: Fixed
    Fix Version/s: current (nightly)

William,

I have updated the file and is now in SVN. 

If you really want to use the support, you should build it yourself using the latest code in SVN.  1.6 beta is very old and buggy.  

Not sure when a new downloadable version will be released.  Need to find time :-(

> WSDD - Error occurs when deploy web services using AdminClient and AdminService!
> --------------------------------------------------------------------------------
>
>                 Key: AXISCPP-1046
>                 URL: https://issues.apache.org/jira/browse/AXISCPP-1046
>             Project: Axis-C++
>          Issue Type: Bug
>          Components: WSDD Processing
>    Affects Versions:  1.6 Beta
>         Environment: Windows XP SP2, Apache 2.0.63, SimpleAxisServer, Visual C++ 8.0
>            Reporter: William Chou
>             Fix For: current (nightly)
>
>
> When I built Axis-C++ with my own. I tested the samples, everything worked fine.
> But when I decided to deploy a web service using AdminClient and AdminService. It turned out to be an error.
> So I debugged the programs on my own.
> And I found out that when the programs runs to the following function, some value doesn't set well.
> AXIS_TRANSPORT_STATUS WSDDDocument::WSDDMemBufInputStream::getBytes(char* pcBuffer, int* piRetSize) on file %AXISCPP_ROOT%\src\wsdd\wsdddocument.cpp at line 257.
> The following lines are here:
> 278:	int nBufLen = strlen(m_pcWSDDMemBuffer);
> 279:	if (0 == nBufLen) 	{
> 280:		#ifdef ENABLE_AXISTRACE
> 281:			AXIS_TRANSPORT_STATUS traceRet = (TRANSPORT_FINISHED);
> 282:			if (axiscpp::AxisTrace::isTraceOn())
> 283:				axiscpp::AxisTrace::traceExit("WSDDDocument", "getBytes", NULL, 2,
> 284:					TRACETYPE_DATA, sizeof(AXIS_TRANSPORT_STATUS), ((void*)&traceRet));	  /* AUTOINSERTED TRACE */
> 285:			return traceRet;
> 286:		#else
> 287:			return TRANSPORT_FINISHED;
> 288:		#endif
> 289:	}
> 290:
> 291:	nBufLen = ((*piRetSize - 1) < nBufLen) ? (*piRetSize - 1) : nBufLen;
> 292:	strncpy(pcBuffer, m_pcWSDDMemBuffer, nBufLen);
> 293:	pcBuffer[nBufLen] = 0;
> 294:	m_pcWSDDMemBuffer+=nBufLen;
> So I added the following line after line 279:
> 	*piRetSize = nBufLen;
> and the same line after line 294. 
> It works for the first time. I opened the server.wsdd file for view and found out that the wsdd file was not a valid xml file. So I debug it again and found out the following lines on file WSDDDeployment.cpp at lines 255 - 258:
> 255:        if (fputs("<deployment xmlns=\"http://xml.apache.org/axis/wsdd/\
> 256:            \" xmlns:C=\"http://xml.apache.org/axis/wsdd/providers/C\" xmlns:\
> 257:            CPP=\"http://xml.apache.org/axis/wsdd/providers/CPP\">\n",
> 258:            file) < 0) break;
> So I modified these lines as following:
> 255:        if (fputs("<deployment xmlns=\"http://xml.apache.org/axis/wsdd/"
> 256:            "\" xmlns:C=\"http://xml.apache.org/axis/wsdd/providers/C\" xmlns:"
> 257:            "CPP=\"http://xml.apache.org/axis/wsdd/providers/CPP\">\n",
> 258:            file) < 0) break;
> Everything works fine. Is this a problem?
> BTW: The AdminClient and AdminService projects files are out of date. Some functions are no longer the original. But these are minor problems. So I can easily change the source code to works fine.
> Thanks for your help!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org