Skip to Content

For my 1st HWC app on my SUP instance on AWS I chose to use one of the sample applications, and as you can see in my previous blog, it does not work.

/wp-content/uploads/2012/08/fixsupapp1_128297.jpg

The same error in the trace file (from SCC)

07T104523, T4, got error from server: Error: 1053 Native Error: -2147024891 Message: ‘Could not load file or assembly ‘file:///C:\Sybase\UnwiredPlatform\Servers\MessagingServer\Bin\WorkflowClient.dll’ or one of its dependencies. Access is denied.’ Detail: ‘<desc>Access is denied.</desc><object>monet:DeviceManagement.dll:iAnywhere.MobileOffice.AMP.AMPResponseProcessor</object><method>ProcessSyncRequest</method>’

07T104523, T4, MoObject.execute — caught MoException – Error: 1053 Native Error: -2147024891 Message: ‘Could not load file or assembly ‘file:///C:\Sybase\UnwiredPlatform\Servers\MessagingServer\Bin\WorkflowClient.dll’ or one of its dependencies. Access is denied.’ Detail: ‘<desc>Access is denied.</desc><object>monet:DeviceManagement.dll:iAnywhere.MobileOffice.AMP.AMPResponseProcessor</object><method>ProcessSyncRequest</method>’


What does that error message actually mean and how to fix it? The file WorkflowClient.dll mentioned in the error message is used by HWC and defined in manifest.xml. From the official documentation:

<ResponsePlugin>
 <File>WorkflowClient.dll</File>
 <Class>Sybase.UnwiredPlatform.WorkflowClient.Responder</Class>
 </ResponsePlugin>


After creating the HWC package on my local SDK the same file looks a little bit different:

<ResponsePlugin>
    <File shared="true">WorkflowClient.dll</File>
    <Class>Sybase.UnwiredPlatform.WorkflowClient.Responder</Class>
</ResponsePlugin>

The only difference is the added shared=”true” part. But that’s OK, as described in the documentation:

“The WorkflowClient.dll is shared by all Mobile Workflows. It is installed only once, into the UnwiredPlatform_InstallDir>\UnwiredPlatform\Servers\MessagingServer\bin folder. Your Manifest.xml file must refer to the WorkflowClient.dll as a shared file. It does not need to be included in the Mobile Workflow .zip file.”

It’s a fresh SUP installation, HWC app is OK, so why the error message? Luckily the error message is clear: Access is denied. This can either mean that SUP isn’t able to read the file or that the shared part isn’t working as another process is blocking the file.

Solution

Looking at the file in the Explorer reveals that it is encrypted. After decrypting the file and restarting SUP server as well as the Android simulator … I hope the error is gone for you. In my case, I still got the same error. Maybe the file isn’t readable to the SUP server after all (ACL). Instead of trying to figure out where exactly the read permission is missing I simply gave read permission to the whole MessagingServer folder to the LOCAL_SYSTEM user, restarted SUP server and Android simulator (version 2.2) again and:

/wp-content/uploads/2012/08/fixsupapp2_128298.jpg

At least that’s now another error message. Looking again at the list of supported Android versions for HWC Android 2.3.3 is also supported. After creating a AVD image, installing the HWC container, configuring everything, starting the workflow, guess what. Same error. Time for a real device. This time Android 4.0.4, same HWC install procedure and:

/wp-content/uploads/2012/08/fixsupapp3_128299.jpg

Now the HWC app is working.

What’s a nice side effect of this? After entering several times some dummy information in different HWC containers on different devices and getting the Access denied error, now this data finally was able to be processed by SUP. SUP picked up the queued items, executed the CREATE operation and now the table in sampledb shows some data:

/wp-content/uploads/2012/08/fixsupapp4_128300.jpg

Now, for those interested why the physical device works and not the simulator: I believe the root cause is my 3G data provider. After creating a VPN between the SUP server and my laptop and re-registering HWC, this time to the VPN IP of the SUP server, it works:

/wp-content/uploads/2012/08/fixsupapp5_128301.jpg

Next

a blog on how to set up a VPN that passes proxies.

What else?

It looks like the HWC error is really caused by the SUP AWS image SAP released. I’m confident that SAP (aka Juergen Schmerder or Anne Hardy) is already aware of the issue and will release a new version so that HWC app will work out of the box.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply