1

SD から SWP にコンテンツを公開/プッシュしようとすると、SWP ログに次のエラーが表示されます。

[2016-12-07 14:04:56] request.INFO: Matched route
"swp_api_content_push".
{"route":"swp_api_content_push","route_parameters":{"version":"v1","_controller":"SWP\\Bundle\\ContentBundle\\Controller\\ContentPushController::pushContentAction","_route":"swp_api_content_push"},"request_uri":"http://wps.dev/api/v1/content/push","method":"POST"}
[]
[2016-12-07 14:04:56] request.CRITICAL: Uncaught PHP Exception
Doctrine\DBAL\Exception\DriverException: "An exception occurred while
executing 'SELECT t0.host AS host_1, t0.schemes AS schemes_2,
t0.methods AS methods_3, t0.defaults AS defaults_4, t0.requirements AS
requirements_5, t0.options AS options_6, t0.condition_expr AS
condition_expr_7, t0.variable_pattern AS variable_pattern_8,
t0.staticPrefix AS staticprefix_9, t0.id AS id_10, t0.template_name AS
template_name_11, t0.articles_template_name AS
articles_template_name_12, t0.type AS type_13,
t0.cache_time_in_seconds AS cache_time_in_seconds_14, t0.name AS
name_15, t0.position AS position_16, t0.lft AS lft_17, t0.rgt AS
rgt_18, t0.level AS level_19, t0.tenant_code AS tenant_code_20,
t0.root_id AS root_id_21, t0.parent_id AS parent_id_22,
t0.route_content_id AS route_content_id_23 FROM swp_route t0 WHERE
t0.id = ? AND ((t0.tenant_code = '123abc')) LIMIT 1' with params
["articles\/features"]:  SQLSTATE[22P02]: Invalid text representation:
7 ERROR:  invalid input syntax for integer: "articles/features"" at
/home/bsarlo/code/web-publisher/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php
line 91 {"exception":"[object]
(Doctrine\\DBAL\\Exception\\DriverException(code: 0): An exception
occurred while executing 'SELECT t0.host AS host_1, t0.schemes AS
schemes_2, t0.methods AS methods_3, t0.defaults AS defaults_4,
t0.requirements AS requirements_5, t0.options AS options_6,
t0.condition_expr AS condition_expr_7, t0.variable_pattern AS
variable_pattern_8, t0.staticPrefix AS staticprefix_9, t0.id AS id_10,
t0.template_name AS template_name_11, t0.articles_template_name AS
articles_template_name_12, t0.type AS type_13,
t0.cache_time_in_seconds AS cache_time_in_seconds_14, t0.name AS
name_15, t0.position AS position_16, t0.lft AS lft_17, t0.rgt AS
rgt_18, t0.level AS level_19, t0.tenant_code AS tenant_code_20,
t0.root_id AS root_id_21, t0.parent_id AS parent_id_22,
t0.route_content_id AS route_content_id_23 FROM swp_route t0 WHERE
t0.id = ? AND ((t0.tenant_code = '123abc')) LIMIT 1' with params
[\"articles\\/features\"]:\n\nSQLSTATE[22P02]: Invalid text
representation: 7 ERROR:  invalid input syntax for integer:
\"articles/features\" at
/home/bsarlo/code/web-publisher/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php:91,
Doctrine\\DBAL\\Driver\\PDOException(code: 22P02): SQLSTATE[22P02]:
Invalid text representation: 7 ERROR:  invalid input syntax for
integer: \"articles/features\" at
/home/bsarlo/code/web-publisher/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:93,
PDOException(code: 22P02): SQLSTATE[22P02]: Invalid text
representation: 7 ERROR:  invalid input syntax for integer:
\"articles/features\" at
/home/bsarlo/code/web-publisher/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:91)"}
[]

SD パブリッシュ キューのメッセージは次のとおりです。

PublishHTTPPushServerError Error 14002 - HTTP push publish server error:Error pushing item 500: {"code":500,"message":"Internal Server Error"}  

どのような「テキスト表現」が期待され、どこを変更すればよいですか?

ありがとう。

4

1 に答える 1

2

この問題は、ルールに割り当てられた間違ったルート名に関連しています。

このPRでは既に修正されています。

手動修正:

これを修正するには、最新の変更を0.1 ブランチから取得します。

次に、ファイルを開きsrc/SWP/Bundle/FixturesBundle/Resources/fixtures/ORM/dev/rule.yml、コンテンツを次のように置き換えます。

SWP\Bundle\CoreBundle\Model\Rule:
    rule1:
        tenantCode: "123abc"
        priority: 1
        configuration:
            route: "<getRouteByName('politics')->getId()>"
            published: true
        expression: 'article.getLocale() matches "/en/"'

変更を保存してから、フィクスチャを再度ロードします: php app/console doctrine:fixtures:load.

データベースのデータが消去されることに注意してください。

swp_ruleまたは、その行 (テーブル)の構成列を次のように置き換えることにより、データベースでそのルールの構成を直接変更することもできます。

a:1:{s:9:"published";s:4:"true";}

この場合、 はルート4の ID です。politics

于 2016-12-12T08:09:50.720 に答える