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 "William Chou (JIRA)" <ax...@ws.apache.org> on 2008/02/22 04:18:19 UTC

[jira] Issue Comment Edited: (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:comment-tabpanel&focusedCommentId=12571267#action_12571267 ] 

earthdog edited comment on AXISCPP-1046 at 2/21/08 7:17 PM:
----------------------------------------------------------------

nadir amra, thanks for your reply.

I check out the latest source code from svn. And viewed the source files I mentioned before.
I find out that WSDDDeployment.cpp file is already resolved. But in the first problem I mentioned before (in function WSDDDocument::WSDDMemBufInputStream::getBytes() on file WSDDDocument.cpp), the value of *piRetSize is still unupdated. Is this normal? Thanks again!

BTW:
I built Axis 1.6 Beta for the first time, and it is the only version I can download from apache.org. So I think the problems really exists in that version. I wonder if there is any newer version I can download, or are you have some plans to release a newer version. Thanks.

      was (Author: earthdog):
    nadir amra, thanks for your reply.

I check out the latest source code from svn. And viewed the source files I mentioned before.
I find out that WSDDDeployment.cpp file is already resolved. But in the first problem I mentioned before (in function WSDDDocument::WSDDMemBufInputStream::getBytes() on file WSDDDocument.cpp), the value of *piRetSize is still unupdated. Is this normal? Thanks again!
  
> 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
>
> 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