[ 
https://issues.apache.org/jira/browse/AXISCPP-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573128#action_12573128
 ] 

William Chou commented on AXISCPP-1046:
---------------------------------------

nadir amra, thanks for your reply again.

I will get the latest version from SVN and build 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
>             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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to