我正在为mulesoft runtime 4.1.0开发自定义验证器策略,我需要在策略不满意时修改响应。为此,我在mulesoft文档上找到了这个页面:https://docs.mulesoft.com/api-manager/v/2.x/http-policy-transform但是当我尝试使用xml命名空间http-transform时:我总是得到错误
加载错误: /opt/mule/mule-4.1.2/policies/jwtvalidatorpolicy-315114/policy.xml, 无法解决 http://www.mulesoft.org/schema/mule/http-transform/current/mule-http-transform.xsd, 可能缺少依赖项或插件
有人可以提供正确的位置/命名空间吗?
谢谢!
答案 0 :(得分:1)
这里是一个使用上述扩展名
的完整示例 <?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:http-policy="http://www.mulesoft.org/schema/mule/http-policy"
xmlns:http-transform="http://www.mulesoft.org/schema/mule/http-policy-transform"
xmlns="http://www.mulesoft.org/schema/mule/core"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http-policy-transform http://www.mulesoft.org/schema/mule/http-policy-transform/current/mule-http-policy-transform.xsd
http://www.mulesoft.org/schema/mule/http-policy http://www.mulesoft.org/schema/mule/http-policy/current/mule-http-policy.xsd">
<http-policy:proxy name="policy-deployment">
<http-policy:source>
<try>
<http-policy:execute-next/>
<http-transform:add-headers outputType="response">
<http-transform:headers>#[{'policyHeader': 'policyHeaderValue'}]</http-transform:headers>
</http-transform:add-headers>
</try>
</http-policy:source>
</http-policy:proxy>
</mule>
您还需要将以下依赖项添加到自定义策略项目
<dependency>
<groupId>com.mulesoft.anypoint</groupId>
<artifactId>mule-http-policy-transform-extension</artifactId>
<version>1.1.0</version>
<classifier>mule-plugin</classifier>
</dependency>
答案 1 :(得分:0)
对于那些也遇到缺少依赖项的问题的人:
这是仅限企业使用的插件。这意味着您需要配置您的maven设置文件,以便同时在mulesoft企业仓库中搜索。有关如何执行此操作的文档,请参见https://docs.mulesoft.com/mule-runtime/3.9/configuring-maven-to-work-with-mule-esb。如果您还没有此仓库的用户名/密码,请使用与您的企业订阅相关联的帐户创建支持票证,它们将为您提供正确的凭据。