axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "FX SDCC (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Created: (AXISCPP-966) WSDL2WS generate wrong code: redundant value reference * in Wrapper
Date Tue, 25 Apr 2006 02:21:05 GMT
WSDL2WS generate wrong code: redundant value reference * in Wrapper
-------------------------------------------------------------------

         Key: AXISCPP-966
         URL: http://issues.apache.org/jira/browse/AXISCPP-966
     Project: Axis-C++
        Type: Bug

  Components: WSDL processing - RPC  
    Versions:  1.6 Beta    
 Environment:   	 Platform:
        Linux fedora 3.0
Axis version:
        Server-side Axis C++ 1.5
XML Parser Lib:
xersesc 2.6
WSDL2ws tool by using axis java 1.2RC3 jar
Client-side version Axis java 1.2RC3
Http Server Version:
Apache 2.0.53
Tomcat 2.0.58
    Reporter: FX SDCC
    Priority: Critical


[Error Statement]:
I have used AxisCPP1.6Beta version to generate SampleTestSoapWrapper.cpp as the below:
Function: int SampleTestSoapWrapper::GetOperation(void* pMsg)
xsd_string v0 = *(pIWSDZ->getElementAsString("ListType", 0));

The generated code has bug: xsd_string is already indeed a "char *", so should not reference
it's content by "*".

The correct code I expected is:
xsd_string v0 = pIWSDZ->getElementAsString("ListType", 0);

[solution]:
I have investigated the source code of AxisCPP/WSDL2Ws tool, and found that if I modify the
following code at about line 217~234 in writeMethodInWrapper method that belongs to WrapWriter
(wsdl2ws/cpp/iteral) class, the above bug can be resolved.

            	else
            	{
            	    
            		writer.write(
                            "\t"
                                + paraTypeName
                                + " v"
                                + i
//<mxiong debug 20060425                                
                                + " = pIWSDZ->"
//                                + " = *(pIWSDZ->"
//>mxiong debug 20060425                                
                                + CUtils.getParameterGetValueMethodName(
                                    paraTypeName,
                                    false)
                                + "(\""
                                + elementName
//                              <mxiong debug 20060425                                
//                                + "\",0));\n");
                                + "\",0);\n");
//            		>mxiong debug 20060425                                
            	}

So I think it's a bug.

[other]
I will create a patch for you and upload it later.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message