A sample insert request generated by WFS.commit() looks like:
<wfs:Transaction
xmlns:wfs="http://www.opengis.net/wfs"><wfs:Insert><feature:tasmania_roads
xmlns:feature="http://www.openplans.org/topp"><feature:the_geom><gml:MultiLineString
xmlns:gml="http://www.opengis.net/gml"><gml:lineStringMember><gml:LineString><gml:coordinates
decimal="." cs="," ts=" ">145.420508203125,-41.5523681640625
146.123633203125,-41.4754638671875 146.431250390625,-41.7061767578125
</gml:coordinates></gml:LineString></gml:lineStringMember></gml:MultiLineString></feature:the_geom></feature:tasmania_roads></wfs:Insert></wfs:Transaction>
This request is non compliant, since it does not include nor service="WFS" attribute in <Transaction>, nor the version one.
The WFS Transaction schema states service and version attributes are mandatory:
<xsd:complexType name="TransactionType">
<xsd:sequence>
<xsd:element ref="wfs:LockId" minOccurs="0">
</xsd:element>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="wfs:Insert"/>
<xsd:element ref="wfs:Update"/>
<xsd:element ref="wfs:Delete"/>
<xsd:element ref="wfs:Native"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="version"
type="xsd:string" use="required" fixed="1.0.0"/>
<xsd:attribute name="service"
type="xsd:string" use="required" fixed="WFS"/>
<xsd:attribute name="handle"
type="xsd:string" use="optional"/>
<xsd:attribute name="releaseAction"
type="wfs:AllSomeType" use="optional">
</xsd:attribute>
</xsd:complexType>