Author: samisa Date: Tue Feb 26 07:00:29 2008 New Revision: 14231 Log:
Fixed the bug in input type not generated for rpc style Modified: trunk/commons/dynamic-codegen/src/wsdl11to20.xsl10.xsl Modified: trunk/commons/dynamic-codegen/src/wsdl11to20.xsl10.xsl ============================================================================== --- trunk/commons/dynamic-codegen/src/wsdl11to20.xsl10.xsl (original) +++ trunk/commons/dynamic-codegen/src/wsdl11to20.xsl10.xsl Tue Feb 26 07:00:29 2008 @@ -139,13 +139,15 @@ <xsl:call-template name="resolve-soaprpc-element-localname"> <xsl:with-param name="msg" select=".."/> </xsl:call-template> - </xsl:variable> + </xsl:variable> + <xsl:if test="$localName != '#any'"> - <xs:schema targetNamespace="[EMAIL PROTECTED]"> + <xs:schema targetNamespace="[EMAIL PROTECTED]"> <xs:element name="{$localName}"> <xs:complexType> <xs:sequence> - <xsl:choose> + <xsl:choose> + <xsl:when test="$usestypes='yes'"> <xsl:for-each select="$message/w11:part[not($parts) or contains($parts,concat(' ',@name,' '))]"> <xsl:variable name="type_prefix" select="substring-before(@type,':')"/> @@ -163,6 +165,7 @@ <xsl:variable name="type_prefix-separator"> <xsl:if test="$type_prefix != ''">:</xsl:if> </xsl:variable> + <xs:element name="[EMAIL PROTECTED]" type="{$type_prefix}{$type_prefix-separator}{$type_local-name}"> <xsl:copy-of select="namespace::*[local-name()=$type_prefix]"/> </xs:element> </xsl:for-each> @@ -446,6 +449,7 @@ <xsl:param name="element"/> <xsl:param name="namespace"/> <xsl:param name="faultname"/> + <xsl:choose> <xsl:when test="self::w11:fault"> <xsl:attribute name="name"> @@ -520,8 +524,7 @@ <xsl:variable name="message_name_namespace-uri" select="string(namespace::*[local-name()=$message_name_prefix])"/> <xsl:variable name="message" select="/w11:definitions/w11:message[/w11:definitions/@targetNamespace = - $message_name_namespace-uri and @name = $message_name_local-name]"/> - + $message_name_namespace-uri and @name = $message_name_local-name]"/> <xsl:variable name="portType_namespace-uri" select="/w11:definitions/@targetNamespace"/> <xsl:variable name="portType_local-name" select="../../@name"/> @@ -564,8 +567,19 @@ </xsl:call-template> </xsl:when> <xsl:otherwise> + <xsl:variable name="new_msg_name"> + <xsl:choose> + <xsl:when test="local-name(.)='input'"> + <xsl:value-of select="$operation_name"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat($operation_name, 'Response')"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> <xsl:call-template name="resolve-elementType-attrs"> - <xsl:with-param name="element" select="$message_name_local-name"/> + + <xsl:with-param name="element" select="$new_msg_name"/> <xsl:with-param name="namespace" select="$message_name_namespace-uri"/> <xsl:with-param name="faultname" select="@name"/> </xsl:call-template> _______________________________________________ Commons-dev mailing list Commons-dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/commons-dev