We have migrated BPEL code from 10g to 11g, which used to run successfully by sending an 'empty space' to the target (Oracle Database). But this code, in 11g, fails at runtime stating the field cannot be empty, as it is considering the empty space to be null. We tried using ' ', the code runs successfully this time but while checking the DB we found that it has entered a junk character into the respective field.

You need not to send empty space in the database.
Just make sure that the DB column is not having a "not null" constraint.

Now since your BPEL is expecting some value otherwise you are getting error, you have to make the corresponding element in the schema as nillable=”true”.
This will allow you to not to send anything in that element.