首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接Superdesk和Superdesk Web Publisher?

如何连接Superdesk和Superdesk Web Publisher?
EN

Stack Overflow用户
提问于 2016-12-09 20:48:07
回答 1查看 139关注 0票数 1

当尝试从SD发布/推送内容到SWP时,我在SWP日志中收到以下错误:

代码语言:javascript
复制
[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发布队列中的消息为:

代码语言:javascript
复制
PublishHTTPPushServerError Error 14002 - HTTP push publish server error:Error pushing item 500: {"code":500,"message":"Internal Server Error"}  

需要什么样的“文本表示”,我应该在哪里改变它?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-12-12 16:09:51

此问题与分配给规则的路由名称错误有关。

这个问题已经在这个PR中修复了。

手动修复:

要修复此问题,请从0.1 branch获取最新更改。

然后打开src/SWP/Bundle/FixturesBundle/Resources/fixtures/ORM/dev/rule.yml文件并将内容替换为:

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

保存更改,然后再次加载fixture:php app/console doctrine:fixtures:load

注意到会擦除你的数据库数据。

或者,您可以直接在数据库中更改该规则的配置,方法是将该行(swp_rule表)中的配置列替换为,例如:

代码语言:javascript
复制
a:1:{s:9:"published";s:4:"true";}

其中,在这种情况下,4politics路由的id。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41060878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档