I have a fairly simple web api project and have the following method in a CustomerController:
public class CustomerController : ApiController
{
    [HttpGet]
    public UpdatePasswordResult UpdatePasswordWithUserCode([FromUri] UpdatePasswordWithUserCodeCriteria passwordChangeRequest)
    {
        ...
    }
}
This works fine for model binding, my UpdatePasswordWithUserCodeCriteria passwordChangeRequest variable gets populated when the user types appropriate values in the URL.
public class UpdatePasswordWithUserCodeCriteria : IParameterCriteria
{
    public string securityCode { get; set; }
    public string newPassword { get; set; }
}
However, my help docs (generated with ApiExplorer) never sees this complex type and don't document it. I found this area "Setting custom samples" on the following page: http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx
In my HelpPageConfig.cs file I have:
config.SetSampleForType(
    "securityCode=asdfsadfsadf&newPassword=Foo",
    new MediaTypeHeaderValue("application/x-www-form-urlencoded"),
    typeof(UpdatePasswordWithUserCodeCriteria));
And this doesn't generate the documentation for the parameter unless I take out the [FromUri] attribute of the parameter. When I remove the [FromUri], the ApiExplorer correctly generates the help docs with the parameters, but then model binding doesn't work for the parameters:
public class CustomerController : ApiController
{
    [HttpGet]
    public UpdatePasswordResult UpdatePasswordWithUserCode(UpdatePasswordWithUserCodeCriteria passwordChangeRequest)
    {
        ...
    }
}
How can I get both model binding to work for this request AND web Api Explorer to generate the parameter documentation for it?