Skip to content

Commit 0124929

Browse files
committed
Mention Problem in docs
1 parent f9768d1 commit 0124929

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

src/doc/docs/faq.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ You can still revoke certificates without account key pair though, see [here](us
2525

2626
**Cause:** There may be multiple causes for that, but usually it means that the CA could not verify your challenge.
2727

28-
**Solution:** If the status is `INVALID`, invoke `Challenge.getError()` to get the cause of the failure. For example, you can log the output of `challenge.getError().toString()`. Make sure that your challenge is ready for verification _before_ you invoke `Challenge.trigger()`. Also make sure not to remove the challenge until the status is either `VALID` or `INVALID`.
28+
**Solution:** If the status is `INVALID`, invoke `Challenge.getError()` to get the cause of the failure. For example, you can log the output of `challenge.getError().toString()`. Make sure that your challenge is ready for verification _before_ you invoke `Challenge.trigger()`. Also make sure not to remove the challenge until the status is either `VALID` or `INVALID`. Read more about errors [here](usage/errors.md).
2929

3030
## My `Order` returns status `INVALID`. What has gone wrong?
3131

3232
**Symptom:** Your challenge(s) passed as `VALID`. However when you execute the order, it changes to status `INVALID`. No certificate was issued.
3333

3434
**Cause:** There may be multiple reasons for that. It seems that you are still missing steps that are required by the CA before completion.
3535

36-
**Solution:** If the status is `INVALID`, invoke `Order.getError()` to get the cause of the failure. For example, you can log the output of `order.getError().toString()`.
36+
**Solution:** If the status is `INVALID`, invoke `Order.getError()` to get the cause of the failure. For example, you can log the output of `order.getError().toString()`. Also see [here](usage/errors.md).
3737

3838
## My `Order` seems to be stuck in status `PROCESSING`. What can I do?
3939

@@ -88,5 +88,5 @@ Unfortunately, manual action is required in any case, there is no way to automat
8888
## Where can I find more help?
8989

9090
* [Let's Encrypt Documentation](https://letsencrypt.org/docs/)
91-
* [Let's Encrypt Community](https://community.letsencrypt.org/) - If the question is _acme4j_ related, please mention it in your post.
91+
* [Let's Encrypt Community](https://community.letsencrypt.org/) - If the question is _acme4j_ related, please mention it in your post. I don't read the forum every day, but I will answer as soon as I notice it.
9292
* [SSL.com Knowledgebase](https://www.ssl.com/info/)

src/doc/docs/usage/errors.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Errors
2+
3+
The CA will send all errors as [RFC7807](https://datatracker.ietf.org/doc/html/rfc7807) problem documents. _acme4j_ parses these documents and provides a `Problem` representation of them.
4+
5+
The simplest way to handle the problem is to log the result of its `.toString()` method. It contains a summary of all important fields.
6+
7+
There are other methods that return machine- and human-readable details and subproblems. With `.asJSON()` you can also get a JSON representation of the full problem document, in case there are non-standard fields.
8+
9+
## Errors while Ordering
10+
11+
If your challenge has failed, you can retrieve the cause of the failure with `Challenge.getError()` or `Order.getError()`. It returns an `Optional` containing further details why the challenge has failed.
12+
13+
## Exceptions
14+
15+
`AcmeServerException` and its subclasses provide a `getProblem()` method that returns the `Problem` that caused the exception. The exception message also contains a summary of the problem.

src/doc/mkdocs.yml

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ nav:
3030
- 'usage/renewal.md'
3131
- 'usage/revocation.md'
3232
- 'usage/persistence.md'
33+
- 'usage/errors.md'
3334
- 'usage/exceptions.md'
3435
- 'usage/advanced.md'
3536
- 'usage/debugging.md'

0 commit comments

Comments
 (0)