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 "Michael Xiong (JIRA)" <ax...@ws.apache.org> on 2006/06/15 13:54:30 UTC
[jira] Commented: (AXISCPP-975) WSDL2WS: WrapWriter.java
[ http://issues.apache.org/jira/browse/AXISCPP-975?page=comments#action_12416320 ]
Michael Xiong commented on AXISCPP-975:
---------------------------------------
Sorry, my title should be :
WSDL2WS: WrapWriter.java: returnParamName's localpart not splitted in some cases.
Can someone help me to update my title ?
Thanks.
Michael Xiong
> WSDL2WS: WrapWriter.java
> ------------------------
>
> Key: AXISCPP-975
> URL: http://issues.apache.org/jira/browse/AXISCPP-975
> 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.6Beta
> XML Parser Lib:
> xersesc 2.6
> WSDL2ws tool by using axis java 1.3
> Client-side version Axis java 1.3
> Http Server Version:
> Apache 2.0.53
> Tomcat 2.0.58
> Reporter: Michael Xiong
>
> I found that in axis-c-1.6beta, you seems have tried to fix some problems similar to axiscpp-931, the solution is to split localpart of returnParamName before writing it in generated wrapper class.
> I think the necessary code fix which we need to do are all inside the method writeMethodInWrapper, which belongs to WSDL2WS's WrapWriter class(src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.jaava).
> i.e.
> When the return type is simpletype or array, you've added the below split processing instead of write returnParamName directly
> ----------------------------------
> + returnParamName.substring(returnParamName.lastIndexOf(">")+1)
> ----------------------------------
> That's OK, no problem.
> But there're still some case being ignored by you, I think it's still a bug:
> When the return type is complex array, you have not added the split processing before writing.
> ie. I used a sample wsdl which containing the bllow piece(which will generate a complex array):
> ----------------------------------
> <xs:element name="GetTestResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element minOccurs="0" maxOccurs="unbounded" name="Test" type="mb:TestInformation"/>
> <xs:element minOccurs="0" maxOccurs="1" name="Context" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> ------------------------------------
> By axis-c-1.6beta, the generated code is wrong:
> the generated element name in code and run-time server response to client is like : ">GetTestResponse>Test", which is not correct according to my sample wsdl.
> My fix code looks like the below(in the method writeMethodInWrapper of WrapWriter class):
> ----------(...when it's complex array ...)-----------------------
> writer.write(
> "\tpIWSSZ->addOutputCmplxArrayParam((Axis_Array*)(&out"
> + i
> + "),"
> + "(void*) Axis_Serialize_"
> + containedType
> + ", (void*) Axis_Delete_"
> + containedType
> + ", (void*) Axis_GetSize_"
> + containedType
> + ", \""
> //<mxiong debug 2006/6/15
> // + returnParamName
> + returnParamName.substring(returnParamName.lastIndexOf(">")+1)
> //>mxiong debug 2006/6/15
> + "\", Axis_URI_"
> + containedType
> + ");\n");
> -
> ---------------------------------
> So would you like to check it and adopt my solution for this case?
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org