Managed to make this work. Two things were needed to allow a process to accept a parameter from a SOAP call:
The format for the request node should be similar to below:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:obj="http://wwws.niku.com/xog/Object" xmlns:tns="http://www.niku.com/xog/InvokeAction">; \
<soapenv:Header>
<obj:Auth>
<obj:SessionID>************************</obj:SessionID>
</obj:Auth>
</soapenv:Header>
<soapenv:Body>
<tns:Process>
<code>mgl_process_name</code>
<request>
<objparam objType="projectID">PR12345</objparam>
</request>
</tns:Process>
</soapenv:Body>
</soapenv:Envelope>
The process GEL also needs to grab the XML and pull off the parameter from it:
<!-- Grab the xml passed in via the webService -->
<gel:getDocument var="requestXml"/>
<gel:set select="$requestXml" var="request" asString="true"/>
<gel:log>"entire xml in start =" ${request}</gel:log>
<!-- Pull off the objparam -->
<gel:set select="$requestXml//request/objparam" var="objNode" asString="false"/>
<!-- Pull off the objCode and objId -->
<gel:set select="$objNode//@objCode" var="objCode" asString="true"/>
<gel:set select="$objNode//text()" var="p_projectID" asString="true"/>
<gel:log>"Object Id in start = ${p_projectID}"</gel:log>
<gel:log category="OUTPUT" level="INFO">VARIABLE VALUE: ${p_projectID}</gel:log>
I got the above code from scouring through posts from here. I'd love to link it, but for some reason I can't find it again!