StructureDefinition post request return 404 error - hapi-fhir

I have just done the local setup of hapi fhir in my machine.
And I can able to reach the fhir metadata http://localhost:8888/fhir/metadata but when I try to post any structure Definition using this url(http://localhost:8888/StructureDefinition) its returning "Error 404 Not Found".
This is the error from local setup:
2021-03-01 13:12:20.441 [qtp1256142210-23] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /StructureDefinition
2021-03-01 13:12:20.446 [qtp1256142210-23] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /error
2021-03-01 13:12:40.279 [qtp1256142210-19] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /StructureDefinition
2021-03-01 13:12:40.280 [qtp1256142210-19] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /error
2021-03-01 13:12:45.532 [qtp1256142210-23] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /StructureDefinition
2021-03-01 13:12:45.533 [qtp1256142210-23] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /error
2021-03-01 13:13:03.615 [qtp1256142210-19] WARN o.s.web.servlet.PageNotFound [DispatcherServlet.java:1271] No mapping for POST /StructureDefinition
What is the issue? Please help me to resolve this problem.

Found the answer for my question below,
I should include /fhir like this http://localhost:8888/fhir/StructureDefinition.
And it is working now.

Related

GKE cluster (k8s 1.21) with dataplane v2 can't kubectl exec/port-forward/logs etc

We have a cluster at GKE which spontaneously stopped supporting kubectl commands exec/port-forward/logs upon cluster upgrade (seemingly to 1.21). Troubleshooting with https://cloud.google.com/kubernetes-engine/docs/troubleshooting#kubect_commands_stops did not solve the issue:
there are no egress-blocking firewall rules
control-plane-to-nodes ssh ingress rule is in place
there are four project-wide ssh keys set, this does not seem like "too many", it is unclear if it would be safe to remove some (and which?)
there is no ssh-key metadata on the node vm's
there are no egress-blocking network policies in place in k8s
Another cluster in the same GCP project (1.20, no dataplane v2) is working fine. The firewall rules are the same. We really have no clue what the problem could be, we can't find anything in the logs.
Does anybody have the same issue, or have any idea how we could troubleshoot this further?
Example output
$ kubectl -v 5 exec podname -- echo 'hi'
I0319 10:09:14.318262 8314 gcp.go:122] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead.
To learn more, consult https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credenkubectl -v 10 logs mainsite-test-next-web-deployment-7678d4ddc7-d57x5tial-plugins
I0319 10:09:14.396857 8314 request.go:1372] body was not decodable (unable to check for Status): couldn't get version/kind; json parse error: json: cannot unmarshal string into Go value of type struct { APIVersion string "json:\"apiVersion,omitempty\""; Kind string "json:\"kind,omitempty\"" }
I0319 10:09:14.396902 8314 cached_discovery.go:78] skipped caching discovery info due to the server is currently unable to handle the request
I0319 10:09:14.396943 8314 shortcut.go:89] Error loading discovery information: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
I0319 10:09:14.419116 8314 request.go:1372] body was not decodable (unable to check for Status): couldn't get version/kind; json parse error: json: cannot unmarshal string into Go value of type struct { APIVersion string "json:\"apiVersion,omitempty\""; Kind string "json:\"kind,omitempty\"" }
I0319 10:09:14.419128 8314 cached_discovery.go:78] skipped caching discovery info due to the server is currently unable to handle the request
I0319 10:09:14.454275 8314 podcmd.go:88] Defaulting container name to web
I0319 10:09:44.539168 8314 helpers.go:219] server response object: [{
"metadata": {},
"status": "Failure",
"message": "error dialing backend: dial timeout, backstop",
"code": 500
}]
Error from server: error dialing backend: dial timeout, backstop
$ kubectl -v 5 logs podname
I0319 10:12:47.021736 11845 gcp.go:122] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead.
To learn more, consult https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
I0319 10:12:47.086484 11845 request.go:1372] body was not decodable (unable to check for Status): couldn't get version/kind; json parse error: json: cannot unmarshal string into Go value of type struct { APIVersion string "json:\"apiVersion,omitempty\""; Kind string "json:\"kind,omitempty\"" }
I0319 10:12:47.086501 11845 cached_discovery.go:78] skipped caching discovery info due to the server is currently unable to handle the request
I0319 10:12:47.086528 11845 shortcut.go:89] Error loading discovery information: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
I0319 10:12:47.110462 11845 request.go:1372] body was not decodable (unable to check for Status): couldn't get version/kind; json parse error: json: cannot unmarshal string into Go value of type struct { APIVersion string "json:\"apiVersion,omitempty\""; Kind string "json:\"kind,omitempty\"" }
I0319 10:12:47.110480 11845 cached_discovery.go:78] skipped caching discovery info due to the server is currently unable to handle the request
I0319 10:13:17.158303 11845 helpers.go:219] server response object: [{
"metadata": {},
"status": "Failure",
"message": "Get \"https://10.164.0.17:10250/containerLogs/deploy-name/pod-name/web\": dial timeout, backstop",
"code": 500
}]
Error from server: Get "https://10.164.0.17:10250/containerLogs/deploy-name/pod-name/web": dial timeout, backstop
As you have a "timeout" error it seems that kubectl can't communicate with the cluster control plane.
Can you give a try executing:
gcloud container clusters get-credentials CLUSTER_NAME
--region=COMPUTE_REGION
After this the communication with the control plane should be restored.
In the end it turned out that it was the network policies that we had set up for the kube-system namespace. This used to work just fine, until it didn't. We completely forgot that we had them in the first place :see_no_evil: Turns out we were a little overzealous there. When we removed them, everything was fine.

configure outgoing mail server return error

I've been using Moodle 3.10.1 and configuring outgoing mail server with there parameters:
SMTP hosts: smtp.gmail.com:465
SMTP security: SSL
SMTP username: my email address #gmail.com
SMTP password: my password for the above email account
but after test out email configuration, Moodle return these errors:
**2021-03-01 08:49:30 Connection: opening to ssl://smtp.gmail.com:465, timeout=300, options=array()
2021-03-01 08:49:30 Connection failed. Error #2: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed [D:\wamp64\www\myweb\lib\phpmailer\src\SMTP.php line 344]
2021-03-01 08:49:30 Connection failed. Error #2: stream_socket_client(): Failed to enable crypto [D:\wamp64\www\myweb\lib\phpmailer\src\SMTP.php line 344]
2021-03-01 08:49:30 Connection failed. Error #2: stream_socket_client(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error) [D:\wamp64\www\myweb\lib\phpmailer\src\SMTP.php line 344]
2021-03-01 08:49:30 SMTP ERROR: Failed to connect to server: (0)
2021-03-01 08:49:30 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting**
Please help me to fix error. Thank in advance.
Have you logged into https://account.google.com and:
Click on [Security] menu
Scroll to section [Less secure app access] and set it to ON
Scroll to section [Signing in to Google] and set [Use your phone to sign in] to OFF
Scroll to section [Signing in to Google] and set [2-step Verification] to OFF

Log url of request on InternalServerError in http4s

http4s returns InternalServerError if an unhandled error happened.
Is it possible to log url of the request when InternalServerError happened?
If yes, what is the best way to do it?
Isn't it doing this right out of the box?
Here's log from g8 template project from quick start guide https://http4s.org/v0.21/
with added route that throws runtime exception:
[ioapp-compute-1] INFO o.h.s.m.Logger - HTTP/1.1 GET /bad_joke Headers(Accept: */*, Cache-Control: no-cache, Host: localhost:8089, Connection: Keep-Alive, User-Agent: Apache-HttpClient/4.5.12 (Java/11.0.8), Accept-Encoding: gzip,deflate) body=""
[ioapp-compute-1] INFO o.h.s.m.Logger - service raised an error: class java.lang.RuntimeException
[ioapp-compute-1] ERROR o.h.s.service-errors - Error servicing request: GET /bad_joke from 127.0.0.1
java.lang.RuntimeException: haha
at pack.H4sRoutes$$anonfun$jokeRoutes$1.applyOrElse(H4sRoutes.scala:19)
at pack.H4sRoutes$$anonfun$jokeRoutes$1.applyOrElse(H4sRoutes.scala:13)
at $anonfun$combineK$1 # org.http4s.syntax.KleisliResponseOps.$anonfun$orNotFound$1(KleisliSyntax.scala:38)
at getOrElse # org.http4s.syntax.KleisliResponseOps.$anonfun$orNotFound$1(KleisliSyntax.scala:38)
at guaranteeCase$extension # org.http4s.server.middleware.RequestLogger$.$anonfun$impl$9(RequestLogger.scala:97)
at map # org.http4s.server.middleware.RequestLogger$.$anonfun$impl$9(RequestLogger.scala:101)
at flatMap # org.http4s.server.middleware.RequestLogger$.$anonfun$impl$7(RequestLogger.scala:82)
at flatMap # org.http4s.server.middleware.ResponseLogger$.$anonfun$impl$7(ResponseLogger.scala:65)
at guaranteeCase$extension # org.http4s.server.middleware.ResponseLogger$.$anonfun$impl$7(ResponseLogger.scala:88)
at main$ # pack.Main$.main(Main.scala:5)

The resource could not be found in jclouds

I got this when I am trying
04:59:49.489 [main] DEBUG jclouds.wire` - <<
<html><h1>Not Found</h1><p>The resource could not be found.</p></html>
null
04:59:49.520 [main] DEBUG o.j.rest.internal.InvokeHttpMethod - >> invoking container:list
04:59:49.521 [main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending request -1849476372: GET http://xxx.xx.xx.xxx:8080/v1/AUTH_2c5c2fbbfe22422496d5ebf6861199f2/?format=json HTTP/1.1
04:59:49.521 [main] DEBUG jclouds.headers - >> GET http://xxx.xx.xx.xxx:8080/v1/AUTH_2c5c2fbbfe22422496d5ebf6861199f2/?format=json HTTP/1.1
04:59:49.522 [main] DEBUG jclouds.headers - >> Accept: application/json
04:59:49.522 [main] DEBUG jclouds.headers - >> X-Auth-Token:
At line
swiftApi.getObjectApiForRegionAndContainer("RegionOne", CONTAINER_NAME).get(OBJECT_NAME);
how to resolve this
Please share any links or sample application related to content retrieval from openstack by jclouds.
Try the Swift example in the jclouds OpenStack Guide. I just tried it on a DevStack instance and it's working.
If you can get that to work, you should be able to get your own code to work too.

Trying to do a SiteTraversal with Yodlee

I am following the quick start guide and I am able to get both the Cobrand and User token's, however when I try to make a POST request to https://rest.developer.yodlee.com/services/srest/restserver/v1.0/jsonsdk/SiteTraversal/searchSite, I receive a 404 doc not found. I am able to use wget to download the file for /authenticate/login as shown below, but wget receives a 404.
zachallett# ~/code/yodlee/sampleapp
$ wget https://rest.developer.yodlee.com/services/srest/restserver/v1.0/jsonsdk/SiteTraversal/searchSite
--2013-12-09 14:48:02-- https://rest.developer.yodlee.com/services/srest/restserver/v1.0/jsonsdk/SiteTraversal/searchSite
Resolving rest.developer.yodlee.com... 216.35.6.163
Connecting to rest.developer.yodlee.com|216.35.6.163|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-12-09 14:48:03 ERROR 404: Not Found.
zachallett# ~/code/yodlee/sampleapp
$ wget https://rest.developer.yodlee.com/services/srest/restserver/v1.0/authenticate/login
--2013-12-09 14:48:16-- https://rest.developer.yodlee.com/services/srest/restserver/v1.0/authenticate/login
Resolving rest.developer.yodlee.com... 216.35.6.163
Connecting to rest.developer.yodlee.com|216.35.6.163|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: ‘login’
[ <=> ] 16 --.-K/s in 0s
2013-12-09 14:48:16 (1.53 MB/s) - ‘login’ saved [16]
I have tried using this from an external REST client and it works.
Here is the request
POST /services/srest/restserver/v1.0/jsonsdk/SiteTraversal/searchSite HTTP/1.1
Host: rest.developer.yodlee.com
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
cobSessionToken=xxxxxxxxxxxxxxxxxxxxxxxx&userSessionToken=xxxxxxxxxxxxxxxxxxxxxxx&siteSearchString=dag