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/21 16:19:19 UTC
[jira] Commented: (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=12571068#action_12571068 ]
nadir amra commented on AXISCPP-1046:
-------------------------------------
William, I assume these updates fixed the problems? If so, will incorporate. Thanks.
> 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