DeletePendingConnectPackageRequest jaxb error

Nov 4, 2013 at 6:48 PM
I created a connection request using CreateConnectRequestRequest(). If I try and create it again the response is that a request already exists and can not be recreated. This makes since. I next tried DeletePendingConnectPackageRequest(). The name doesn't make sense but it looks like what I need to use in the Java sdk.

DeletePendingConnectPackageRequest dpc = new DeletePendingConnectPackageRequest();
dpc.setExternalId("12345-96");
CreateConnectRequestResponse dpcresponse =(CreateConnectRequestResponse)requestTemplate.makeRequest(dpc);

I get the error: com.microsoft.hsg.HVException: Invalid request. Expecting jaxb request.

I know there is no direct support Java version of DOPU in Java but can it be done at all?

Greg R
Coordinator
Nov 5, 2013 at 5:28 PM
Hi Greg,

DOPU package support isn't supported in this SDK. It's easy enough to turn on the methods, we just need to annotate the Jaxb classes correctly. The harder part is producing the Password Protected Package (PPP). HealthVault uses some non-standard encryption that isn't available in Java. There are two encryption options: 3Des, and Rijndael. The Rijndael option is a non-starter. The 3Des option may work but will be deprecated in an upcoming release of HealthVault and replaced by something standard.

DOPU has been implelemented sucessfully by 3rd party applications in Java but none of them have shared their code with this project. I believe they read the .NET source code and replicated that in Java to produce a PPP encrypted with 3Des. If I have time in the near future I can look into it but timeframes are most likely concerning to you.

Depending on how eager you are, you can try looking at the .NET sources for producing a 3DES Password Protected Package. I can annotate the methods without much fuss. As another tack, the HealthVault business team may be able to link you to one of the other partners who have successfully integrated DOPU in Java.

--Rob