繁体   English   中英

字符串到XML-OSB

[英]String to XML - OSB

我正在尝试将文件的内容转换为XML,我可以在代理中进行处理。 问题是我正在使用inlinedXML函数,该函数应该使用XPaths和XQueries返回我可以使用的结构,但是当我将其应用于下面的XML结构时,却得到了“ |>”。

<SpecialChars>
  <ListOfChars>
    <Char>´</Char>
    <Char>|</Char>
  </ListOfChars>
</SpecialChars>

当我尝试在其上使用XPath表达式时,出现以下错误:

`<`May 29, 2014 12:02:43 PM BRT> `<`Error> `<`OSB Kernel> `<`BEA-382004> `<`Failed to process request message for service ProxyService OSB/test: com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.executeJavaObject(XQueryExprExecutor.java:138)
  at stages.logging.runtime.LogRuntimeStep.processMessage(LogRuntimeStep.java:123)
  at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
  at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
  at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
  Truncated. see log file for complete stacktrace
Caused By: weblogic.xml.query.exceptions.XQueryTypeException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:134)
  at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:189)
  at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
  at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:159)
  Truncated. see log file for complete stacktrace
>
`<`May 29, 2014 12:02:43 PM BRT> `<`Error> `<`OSB Kernel> `<`BEA-380003> `<`Exception on TransportManagerImpl.receiveMessage, com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.executeJavaObject(XQueryExprExecutor.java:138)
  at stages.logging.runtime.LogRuntimeStep.processMessage(LogRuntimeStep.java:123)
  at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
  at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
  at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
  Truncated. see log file for complete stacktrace
Caused By: weblogic.xml.query.exceptions.XQueryTypeException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:134)
  at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:189)
  at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
  at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:159)
  Truncated. see log file for complete stacktrace
>
`<`May 29, 2014 12:02:43 PM BRT> `<`Warning> `<`EJB> `<`BEA-010065> `<`MessageDrivenBean threw an Exception in onMessage(). The exception was:
javax.ejb.EJBException: nested exception is: com.bea.wli.sb.transports.TransportException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node.
javax.ejb.EJBException: nested exception is: com.bea.wli.sb.transports.TransportException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB.__onMessage(PolledMessageListenerMDB.java:55)
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB.access$000(PolledMessageListenerMDB.java:31)
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB$1.run(PolledMessageListenerMDB.java:41)
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB$1.run(PolledMessageListenerMDB.java:39)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  Truncated. see log file for complete stacktrace
>
`<`May 29, 2014 12:02:43 PM BRT> `<`Warning> `<`EJB> `<`BEA-010065> `<`MessageDrivenBean threw an Exception in onMessage(). The exception was:
javax.ejb.EJBException: nested exception is: com.bea.wli.sb.transports.TransportException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node.
javax.ejb.EJBException: nested exception is: com.bea.wli.sb.transports.TransportException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB.__onMessage(PolledMessageListenerMDB.java:55)
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB.access$000(PolledMessageListenerMDB.java:31)
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB$1.run(PolledMessageListenerMDB.java:41)
  at com.bea.wli.sb.transports.poller.listener.PolledMessageListenerMDB$1.run(PolledMessageListenerMDB.java:39)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  Truncated. see log file for complete stacktrace
>
******************** START DUMP GlobalOperationsPOJO **********************
`<xml-fragment xmlns:con="http://www.bea.com/wli/domain/config"><con:monitoring>true</con:monitoring><con:reporting>true</con:reporting><con:logging>true</con:logging><con:sla-alerting>true</con:sla-alerting><con:pipeline-alerting>true</con:pipeline-alerting><con:result-caching>true</con:result-caching></xml-fragment>`
******************** END DUMP GlobalOperationsPOJO **********************
`<`May 29, 2014 12:02:43 PM BRT> `<`Error> `<`OSB Kernel> `<`BEA-382004> `<`Failed to process request message for service ProxyService OSB/test: com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.executeJavaObject(XQueryExprExecutor.java:138)
  at stages.logging.runtime.LogRuntimeStep.processMessage(LogRuntimeStep.java:123)
  at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
  at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
  at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
  Truncated. see log file for complete stacktrace
Caused By: weblogic.xml.query.exceptions.XQueryTypeException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:134)
  at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:189)
  at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
  at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:159)
  Truncated. see log file for complete stacktrace
>
`<`May 29, 2014 12:02:43 PM BRT> `<`Error> `<`OSB Kernel> `<`BEA-380003> `<`Exception on TransportManagerImpl.receiveMessage, com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
com.bea.wli.sb.stages.StageException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.executeJavaObject(XQueryExprExecutor.java:138)
  at stages.logging.runtime.LogRuntimeStep.processMessage(LogRuntimeStep.java:123)
  at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
  at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
  at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
  Truncated. see log file for complete stacktrace
Caused By: weblogic.xml.query.exceptions.XQueryTypeException: line 1, column 7: {err}XP0006: "´| ({http://www.w3.org/2001/XMLSchema}string)": bad value for type node
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:134)
  at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:189)
  at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
  at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:159)
  Truncated. see log file for complete stacktrace

我在问如何处理已经转换为XML的字符串,就像处理服务中作为请求接收的XML一样。 当我在字符串上应用inlinedXML时,无法将其作为XML进行处理,尝试打印XML,我只能看到原始字符串的内容。

疯狂猜测:您尝试传递给inlinedXML()的变量不包含字符串,但已经具有XML。 在这种情况下,inlinedXML() 可能会尝试解析XML中可用的文本节点 ,从而使其尝试解析符号'和|。 作为XML,并且失败(duh)。

试着做:

    count($var//*:SpecialChars)

如果它给您一个大于0的数字,则说明您已经有了XML,无需解析。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM