1

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

2 を試してください:

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 dot html

どうも!

4

1 に答える 1

1

これは、Guvnor 5.5.0.FinalでTomcat 7で機能しました

使用:

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

トラブルシューティング:

HTTP Status 500 - Unable to find JAXBContext for media type: application/json

このエラーは、@sstarcher によるこの投稿によると、「resteasy の jar に json サポートが含まれなくなった」ために発生します。その答えから明らかでないのは、drools-guvnor で問題を解決する方法でした。

この場合、drools-guvnor.5.5.0.Final を使用して、2 つの 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 - メソッドは許可されていません。curl オプションを台無しにしたり、引用符を忘れたりすると発生します。

406 - 受け入れられません。このエラーは、curl の -H オプションを使用して、サポートされていない「Accept:」ヘッダーを指定した場合に発生します。

HTH

于 2013-05-18T17:40:11.267 に答える