使用cURL访问guvnorrestapi

使用cURL访问guvnorrestapi,curl,drools,guvnor,Curl,Drools,Guvnor,有使用cURL访问Guvnor服务器的示例吗 尝试1: curl -i --user username:pwd -H"Content-Type: application/json" -X GET localhost:8080/guvnor-server/rest/packages HTTP/1.1 401 Unauthorized curl -X GET -u"username:pwd" localhost:8080/guvnor-server/rest/packages.json

有使用cURL访问Guvnor服务器的示例吗

尝试1:

 curl -i --user username:pwd -H"Content-Type: application/json" -X GET localhost:8080/guvnor-server/rest/packages
 HTTP/1.1 401 Unauthorized
curl -X GET -u"username:pwd" localhost:8080/guvnor-server/rest/packages.json
 HTTP/1.1 404 Not Found
返回:

 curl -i --user username:pwd -H"Content-Type: application/json" -X GET localhost:8080/guvnor-server/rest/packages
 HTTP/1.1 401 Unauthorized
curl -X GET -u"username:pwd" localhost:8080/guvnor-server/rest/packages.json
 HTTP/1.1 404 Not Found
尝试2:

 curl -i --user username:pwd -H"Content-Type: application/json" -X GET localhost:8080/guvnor-server/rest/packages
 HTTP/1.1 401 Unauthorized
curl -X GET -u"username:pwd" localhost:8080/guvnor-server/rest/packages.json
 HTTP/1.1 404 Not Found
返回:

 curl -i --user username:pwd -H"Content-Type: application/json" -X GET localhost:8080/guvnor-server/rest/packages
 HTTP/1.1 401 Unauthorized
curl -X GET -u"username:pwd" localhost:8080/guvnor-server/rest/packages.json
 HTTP/1.1 404 Not Found
参考:docs.jboss.org/drools/release/5.5.0.CR1/drools-guvnor-docs/html/ch09.html


谢谢

这对我在Tomcat 7下的Guvnor 5.5.0.Final上很有效

使用:

curl -v -u {user}:{password} -H "Accept: application/json" curl-X GET localhost:8080/drools-guvnor/rest/packages
返回:

* About to connect() to localhost port 8080 (#0)
*   Trying ::1... connected
* Server auth using Basic with user '{user}'
> GET /drools-guvnor/rest/packages HTTP/1.1
> Authorization: Basic ZGF2aWQ6ZGF2aWQ=
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: localhost:8080
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: JSESSIONID=68225AF4B272E5CCA962FFE83BCB008A; Path=/drools-guvnor/; HttpOnly
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Sat, 18 May 2013 17:10:51 GMT
<
* Connection #0 to host localhost left intact
* Closing connection #0
[{"package":{"assets":"http:\/\/localhost:8080\/drools-guvnor\/rest\/packages\/defaultPackage\/assets\/drools","author":"{user}","binar                                  yLink":"http:\/\/localhost:8080\/drools-guvnor\/rest\/packages\/defaultPackage\/binary","description":"The default rule package","meta                                  data":{"archived":false,"checkinComment":"Initial","created":"2013-05-18T12:34:53.825-04:00","state":"","uuid":"ab4ae1a2-10d7-43e7-9d8                                  e-411c93a8e669","versionNumber":1},"published":"2013-05-18T12:34:53.833-04:00","sourceLink":"http:\/\/localhost:8080\/drools-guvnor\/r
根据@sstarcher的说法,发生此错误的原因是“resteasy不再在JAR中包含json支持”。从这个答案中不清楚的是如何解决drools guvnor中的问题

在本例中,使用drools-guvnor.5.5.0.Final,您需要下载两个jar文件:

- [jettison-1.3.3.jar][2]
- [resteasy-jettison-provider-2.2.3.GA.jar][3]
您应该将这两个jar文件都放在{TOMCAT_HOME}/webapps/drools-guvnor/WEB-INF/lib文件夹中。在某些系统上看起来是这样的:

 /usr/local/tomcat/apache-tomcat-7.0.35/webapps/drools-guvnor/WEB-INF/lib
下一步停止并重新启动Web服务器。从{Tomcat_HOME}/bin目录访问Tomcat 您可以使用./shutdown.sh和./startup.sh命令

401-未经授权。如果不使用-u user:pass可选参数,则会发生这种情况。开箱即用,guvnor使用一个伪造的基本验证器,它需要头才能工作

404-找不到。如果未在请求中指定正确的目录或资源名称,则会发生此错误

405-不允许使用方法。当您损坏卷曲选项、忘记引号等时发生

406-不可接受。如果使用curl的-H选项指定了不受支持的“Accept:”标头,则会发生此错误


HTH

这对我在Tomcat 7下的Guvnor 5.5.0.Final上很有效

使用:

curl -v -u {user}:{password} -H "Accept: application/json" curl-X GET localhost:8080/drools-guvnor/rest/packages
返回:

* About to connect() to localhost port 8080 (#0)
*   Trying ::1... connected
* Server auth using Basic with user '{user}'
> GET /drools-guvnor/rest/packages HTTP/1.1
> Authorization: Basic ZGF2aWQ6ZGF2aWQ=
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: localhost:8080
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: JSESSIONID=68225AF4B272E5CCA962FFE83BCB008A; Path=/drools-guvnor/; HttpOnly
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Sat, 18 May 2013 17:10:51 GMT
<
* Connection #0 to host localhost left intact
* Closing connection #0
[{"package":{"assets":"http:\/\/localhost:8080\/drools-guvnor\/rest\/packages\/defaultPackage\/assets\/drools","author":"{user}","binar                                  yLink":"http:\/\/localhost:8080\/drools-guvnor\/rest\/packages\/defaultPackage\/binary","description":"The default rule package","meta                                  data":{"archived":false,"checkinComment":"Initial","created":"2013-05-18T12:34:53.825-04:00","state":"","uuid":"ab4ae1a2-10d7-43e7-9d8                                  e-411c93a8e669","versionNumber":1},"published":"2013-05-18T12:34:53.833-04:00","sourceLink":"http:\/\/localhost:8080\/drools-guvnor\/r
根据@sstarcher的说法,发生此错误的原因是“resteasy不再在JAR中包含json支持”。从这个答案中不清楚的是如何解决drools guvnor中的问题

在本例中,使用drools-guvnor.5.5.0.Final,您需要下载两个jar文件:

- [jettison-1.3.3.jar][2]
- [resteasy-jettison-provider-2.2.3.GA.jar][3]
您应该将这两个jar文件都放在{TOMCAT_HOME}/webapps/drools-guvnor/WEB-INF/lib文件夹中。在某些系统上看起来是这样的:

 /usr/local/tomcat/apache-tomcat-7.0.35/webapps/drools-guvnor/WEB-INF/lib
下一步停止并重新启动Web服务器。从{Tomcat_HOME}/bin目录访问Tomcat 您可以使用./shutdown.sh和./startup.sh命令

401-未经授权。如果不使用-u user:pass可选参数,则会发生这种情况。开箱即用,guvnor使用一个伪造的基本验证器,它需要头才能工作

404-找不到。如果未在请求中指定正确的目录或资源名称,则会发生此错误

405-不允许使用方法。当您损坏卷曲选项、忘记引号等时发生

406-不可接受。如果使用curl的-H选项指定了不受支持的“Accept:”标头,则会发生此错误