(# Attention! If soapenv on line 2 is different from xml (soap, sp, etc..), it adds new fields with namespaces.) 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                version="1.0">
  <xsl:output encoding="UTF-8" indent="yes" method="xml" version="1.0"/>
    <xsl:strip-space elements="*"/>
     
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
 
<xsl:template match="soapenv:Body/child::node()" >
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
        <userName>1</userName>
        <password>2</password>
    </xsl:copy>
  </xsl:template>
 
</xsl:stylesheet>

---alternative

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"  
xmlns:ns0="http://ws.sgk100wsV2.sgk.gov.tr/"
version="1.0" >
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
    <xsl:strip-space elements="*" />
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="/S:Envelope/S:Body/*[1]">
        <xsl:copy>
            <arg0>
                <xsl:copy-of select="//*[local-name() = 'arg0']/text()" />
            </arg0>                                                
            <arg1>userName</arg1>
            <arg2>password</arg2>
            <arg3>arg3 value</arg3>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="/S:Envelope/S:Header">
        <xsl:copy-of select="/S:Envelope/S:Header" />
    </xsl:template>
</xsl:stylesheet>
XML