使用 wso2 进行 XML 到 XML 转换

2023-12-03

我正在使用 wso2 esb 4.8.1。我正在尝试在 smooks 中介器的帮助下进行 xml 到 xml 的转换,但是当从 wso2 的应用程序部署控制台尝试它时,我收到以下异常,

[2014-11-07 09:39:20,401] ERROR - SmooksMediator Failed to filter source.
org.milyn.SmooksException: Failed to filter source.
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:86)
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:61)
    at org.milyn.Smooks._filter(Smooks.java:516)
    at org.milyn.Smooks.filterSource(Smooks.java:475)
    at org.wso2.carbon.mediator.transform.SmooksMediator.mediate(SmooksMediator.java:123)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
    at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1236)
    at org.milyn.delivery.sax.SAXParser.parse(SAXParser.java:70)
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:75)
    ... 15 more
[2014-11-07 09:39:20,417] ERROR - NativeWorkerPool Uncaught exception
org.wso2.carbon.mediator.service.MediatorException: Failed to filter source. Caused by Failed to filter source.
    at org.wso2.carbon.mediator.transform.SmooksMediator.handleException(SmooksMediator.java:242)
    at org.wso2.carbon.mediator.transform.SmooksMediator.mediate(SmooksMediator.java:137)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
    at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

序列xml如下,

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" name="smooksTransService" transports="http https" startOnLoad="true" trace="disable">
    <target>
        <inSequence>
            <log level="full" separator=","/>
            <smooks config-key="gov:/_system/config/transforms/smooksconfig.xml">
                <input type="text"/>
                <output type="xml"/>
            </smooks>
            <log level="full" separator=","/>
            <drop/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
</proxy>

下面是smooks的配置文件,

<?xml version="1.0" encoding="UTF-8"?><smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd">
  <params>
    <param name="stream.filter.type">SAX</param>
    <param name="inputType">input.xml</param>
    <param name="default.serialization.on">true</param>
    <param name="input.xml" type="input.type.actived">File:/C:\Shailesh\xmls\model-input.xml</param>
  </params>
  <ftl:freemarker applyOnElement="#document">
    <ftl:template><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<h:salesorder xmlns:h="http://www.w3.org/TR/html4/">
    <h:details>
        <h:orderid>${.vars["order"]["@id"]}</h:orderid>        
        <h:customer>
            <h:id>${.vars["order"]["header/customer/@number"]}</h:id>            
            <h:name>${.vars["order"]["header/customer"]}</h:name>            
        </h:customer>        
    </h:details>    
    <#list .vars["order"]["order-items"] as order_items>
    <h:itemList>
        <#list .vars["order_items"]["order-item"] as order_item>
        <h:item>
            <h:id>${.vars["order_item"]["@id"]}</h:id>            
            <h:productId>${.vars["order_item"]["product"]}</h:productId>            
            <h:quantity>${.vars["order_item"]["quantity"]}</h:quantity>            
            <h:price>${.vars["order_item"]["price"]}</h:price>            
        </h:item>
        </#list>        
    </h:itemList>
    </#list>    
</h:salesorder>]]></ftl:template>
    <param name="modelSrc">File:/C:\Shailesh\xmls\model-output.xml</param>
    <param name="modelSrcType">XML</param>
    <param name="mess![enter image description here][2]ageType">XML</param>
    <param name="templateDataProvider">input</param>
  </ftl:freemarker>
  <resource-config selector="#document">
    <resource>org.milyn.delivery.DomModelCreator</resource>
  </resource-config>
</smooks-resource-list>

我对代理服务的请求如附图所示。

enter image description here


我没有彻底浏览你的例子,但似乎错误在于斯莫克斯调解员找不到注册表资源。

指定 smooks config-key 属性时似乎存在问题。当你是与注册表合作,你需要知道有不同的注册表空间。

如果您通过“gov:”引用资源,则该资源将位于“/_system/governance”中。您需要使用“conf:”来引用“/_system/config”中的资源。

例如:如果您在“/_system/config/transforms/smooksconfig.xml”中有资源,则需要按如下方式引用它:

“conf:transforms/smooksconfig.xml”

相关问题:如何访问 WSO2 ESB 中的注册表

我希望这有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 wso2 进行 XML 到 XML 转换 的相关文章

  • WSO2 Identity Server Service Pack 的来源

    WSO2 Identity Server 5 0 0 的 Service Pack 1 的源是否公开可用 我在哪里可以找到 SVN 存储库中的源代码 Service Pack 没有任何源代码 服务包是通过聚合为 WSO2 中的产品提供的补丁
  • 如何在 docker 镜像中包含修改后的配置文件?

    我是 Docker 新手 一位 Devop 同事在 github 存储库中创建了一个 WSO2 docker 镜像 他使用此类图像来创建暂存和生产实例 The docker compose yml is openssl req newkey
  • WSO2 IS 自定义验证器

    我们正在使用 WSO2 IS v5 4 1 我们希望根据外部用户数据存储对用户进行身份验证 所需的步骤 用户使用用户名和密码通过 Oauth 登录 WSO2 IS 登录请求被转发到外部服务 该服务通过给定的用户名和密码对用户进行身份验证 而
  • WSO2签名系统服务应用程序

    我想将我的所有设备设置为 COPE WSO2 EMM 设置已完成并且工作正常 剩下的就是使用固件密钥对系统服务应用程序进行签名 我仅使用 Google 设备 Android 设备 摩托罗拉 G2 从那里我可以找到用于签署应用程序的密钥和密码
  • 无法使用 ldap 凭据登录 wso2 身份服务器

    我试图将 wso2 身份服务器连接到 Ldap ReadWriteLDAPUserStoreManager 集成成功并且可以从 wso2 身份服务器访问 ldap 用户 但问题是我无法使用 ldap 用户名和密码登录身份服务器 请帮我 Pl
  • pmml:predict WSO2 流处理器不存在扩展

    我正在按照 WSO2 Stream Processor Studio 教程来练习 Siddhi 到目前为止 我已经成功解决了教程中包含的所有错误 然而 我被困在第 12 个教程 进行实时预测 中 Siddhi 应用程序是 App name
  • 尝试根据 mysql 保存用户应用程序时,WSO2 App Store 抛出错误

    当我尝试创建或编辑应用程序时 API Store 抛出错误 java sql SQLException Can t call commit when autocommit true 我添加了设置 init command set autoc
  • WSO2 API Manager 身份验证错误内容类型

    我配置了 WSO2 API Manager 一切似乎都工作正常 唯一困扰我的问题是 如果出现 Auth 异常 API 管理器总是返回 XML 内容类型的响应 例如
  • 用于调用 wso2 安全 Web 服务的独立 java 代码

    我在 wso2esb 上有一个安全的 Web 服务 它基于用户名令牌 现在 我想创建一个独立的 java 程序来调用此 Web 服务 我很难弄清楚如何做到这一点 你能帮我一下吗 感谢致敬 通过这种方式访问 安全的Web服务 我假设你使用UT
  • WSO2 ESB 4.9.0:错误 101500 意味着什么

    在连接到服务器时 我们会收到如下错误
  • 使用脚本中介获取 JavaScript 中的属性值

    当属性的范围不同于 default 时 有没有办法在 WSO2 ESB 的脚本中介器的 javascript 代码中获取该属性的值 如果属性具有默认范围 get property MyProperty OR 如果属性具有 运输 范围 get
  • 将注册表项加载到 wso2 属性中介器中

    我当前正在使用以下语句从 wso2 esb 中的本地条目加载数据
  • Ballerina,使用 REST-API 的 Json 响应

    我的教授希望我写一个关于如何部署 Ballerina 服务的小教程 所以我正在努力学习它 我正在使用 1 2 版 并且我对污点检查和变量类型的概念有点不知所措 我正在尝试编写一个最小的 REST Service 其端点从另一个 api 请求
  • WSO2 EI - 处理 SFTP 错误并调用故障/错误序列

    我正在尝试通过 jms http 代理写入 SFTP 位置 但是 当 SFTP 端点出现错误 密码错误 网络连接问题 远程目录不存在 时 我想触发故障序列并处理此错误 尝试一些 DLC 类型的场景 我发现故障序列不会调用 FTP 错误 除非
  • 访问令牌没有 openid 范围

    我正在做 sso 示例 travelocity com 示例 当我尝试使用此命令通过 oauth 访问令牌访问用户信息时 卷曲 k H 授权 承载b68ba941c9da3d2644d8a63154d28 https localhost 9
  • WSO2 API 管理器端口

    我需要发布为在端口 80 和 443 而不是 8280 和 8243 上运行而开发的所有 API 我如下更改了 axis2 xml 并重新启动了 API Manager 服务器
  • 无法通过 WSO2 API Manager 中的自定义中介流中的呼叫中介器

    在 WSO2 AM 1 10 中创建自定义中介流以实现 API 链接 作为第一步 我创建了此流程作为测试 它调用 REST 服务以生成令牌并将响应返回给客户端
  • 如何使用 wso2 BPEL 创建和部署带有人工任务的 BPEL 流程

    我还没有找到任何有关创建的文档BPEL使用人工任务进行流程WSO2 BPEL 只有一个例子叫做Claims Approval现有的已准备好部署流程 创建该示例流程的文档也不存在 请帮帮我 发现存在类似的问题 但不幸的是该问题没有答案 任何帮
  • 如何删除 WSO2 Identity Server 中的租户?

    在 v 4 6 0 中 我们无法通过 UI 删除 tenat 只能禁用 但是 我看到 TenantMgtAdminService 肥皂服务上有一个 deleteTenant 方法 我尝试调用此服务 但收到错误消息 从日志来看 它有 org
  • 具有 OpenId Connect 的 WSO2 身份服务器

    我正在尝试将 WSO2 Identity Server 5 1 0 与 Asp Net MVC 结合使用 作为概念证明 我在 Visual Studio 2015 中创建了一个示例 asp net MVC 项目 按照 WSO2 指南 我已根

随机推荐