所以我在生产中按顺序排列了这两行代码。cb0token 和 cb-email 是自定义标头,效果很好,但是生产环境还有很多其他问题,因此我试图使其与开发人员工作室兼容。我有很多错误,但我无法终生解决这个错误。
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="UserSessionValidate" onError="ReturnError" xmlns="http://ws.apache.org/ns/synapse">
<property name="token" expression="$trp:cb-token" />
<property name="email" expression="$trp:cb-email" />
</sequence>
然而,这有效。我只是无法让表达式起作用。我也尝试了表达式中的其他变量,但没有。
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="UserSessionValidate" onError="ReturnError" xmlns="http://ws.apache.org/ns/synapse">
<property name="token" value="value" scope="operation" type="STRING" description="token"/>
</sequence>
此代码在生产中有效,但是当尝试将文件保存在开发人员工作室(在 Eclipse 中)时,我收到以下错误。
java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: java.util.ServiceConfigurationError: javax.xml.xpath.XPathFactory: bundleresource://1009.fwk142638629:21/META-INF/services/javax.xml.xpath.XPathFactory:2: Illegal configuration-file syntax
at javax.xml.xpath.XPathFactory.newInstance(Unknown Source)
at org.apache.synapse.util.xpath.SynapseXPath.<init>(SynapseXPath.java:104)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.custom.CustomSynapsePathFactory.getSynapsePath(CustomSynapsePathFactory.java:44)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.PropertyMediatorTransformer.createPropertyMediator(PropertyMediatorTransformer.java:171)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.PropertyMediatorTransformer.transformWithinSequence(PropertyMediatorTransformer.java:74)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.AbstractEsbNodeTransformer.doTransformWithinSequence(AbstractEsbNodeTransformer.java:103)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.SequenceTransformer.transformWithinSequence(SequenceTransformer.java:75)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.DefaultEsbModelExporter.transformSequence(DefaultEsbModelExporter.java:179)
at org.wso2.developerstudio.eclipse.gmf.esb.internal.persistence.DefaultEsbModelExporter.designToSource(DefaultEsbModelExporter.java:324)
at org.wso2.developerstudio.eclipse.gmf.esb.diagram.part.EsbObjectSourceEditor.update(EsbObjectSourceEditor.java:135)
at org.wso2.developerstudio.eclipse.gmf.esb.diagram.part.EsbMultiPageEditor.updateSourceEditor(EsbMultiPageEditor.java:548)
at org.wso2.developerstudio.eclipse.gmf.esb.diagram.part.EsbMultiPageEditor.handleSourceViewActivatedEvent(EsbMultiPageEditor.java:541)
at org.wso2.developerstudio.eclipse.gmf.esb.diagram.part.EsbMultiPageEditor.pageChange(EsbMultiPageEditor.java:499)
at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:778)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3080)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1772)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:279)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
会话数据
eclipse.buildId=4.3.2.M20140221-1700
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product