Try to use Google gmail to sync contacts.
First , you need to sync and backup android phone contacts to Google account. Go to Settings on your Android phone and choose "Accounts and Sync". Enter your Google account details and sync android data.
Next ,you can sync Google account contacts to iPhone. Open up your new iPhone. Go to Settings > Click Add Account>Choose Google > Sign in to your Google account >Sync contacts to iPhone. You will find all contacts are in your iPhone.
But for messages, I personally recommend some tools like Mobiledic phone transfer, which is a desktop software running on Windows and Mac. it can transfer everything between Android, iPhone and blackberry.
it may works, but not free. I used the trail version to transfer 50 messages, you can also use the trail version.