The problem with simply appending the parameters onto the URL is that you're actually making a GET request. Some APIs will reject a GET when they're expecting a POST, others will simply handle it.
Making a POST Request
Code:
HttpConnection oCon = (HttpConnection)Connection.open("http://example.com/path/app.asmx/Function");
URLEncodedPostData oPostData = new URLEncodedPostData(URLEncodedPostData.DEFAULT_CHARSET, false);
post.append("param1", "ThisIsTheValueOfParam1");
post.append("param2", "ABC123");
OutputStream strmOut = oCon.openOutputStream();
strmOut.write(oPostData.getBytes());
strmOut.flush();
strmOut.close();
** I typed this out, so there maybe some spelling mistakes
HRBUCKLEY's example is good for getting the return data as a String. You'll then have to write some code to parse the XML. I prefer the SAXParser.