Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
i want to validate my SOAP request before doing any processing on it. I have seen the component tXSDValidator but i get this exception :
org.talend.designer.runprocess.ProcessorException: Erreurs de compilation du Job Au moins le Job "brouillon" a des erreurs de compilation, réparez et réexportez. Ligne en erreur: 1524 Message détaillé: Cannot cast from Document to String Il peut y avoir d'autres erreurs causées par la compatibilité avec la JVM. Vérifiez que les paramètres de votre JVM sont les mêmes que dans le studio. at org.talend.designer.runprocess.JobErrorsChecker.checkLastGenerationHasCompilationError(JobErrorsChecker.java:338) at org.talend.designer.runprocess.DefaultRunProcessService.checkLastGenerationHasCompilationError(DefaultRunProcessService.java:510) at org.talend.designer.runprocess.RunProcessService.checkLastGenerationHasCompilationError(RunProcessService.java:316) at org.talend.designer.runprocess.ProcessorUtilities.generateBuildInfo(ProcessorUtilities.java:820) at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:601) at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:1861) at org.talend.designer.runprocess.RunProcessContext$1.run(RunProcessContext.java:601) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:527) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:284) at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1190) at org.talend.designer.runprocess.RunProcessContext.exec(RunProcessContext.java:548) at org.talend.designer.runprocess.remote.RunRemoteProcessContext.exec(RunRemoteProcessContext.java:85) at org.talend.designer.runprocess.ui.ProcessComposite.exec(ProcessComposite.java:1401) at org.talend.designer.runprocess.ui.views.ProcessView$RunAction.run(ProcessView.java:701) at org.talend.designer.runprocess.ui.actions.RunProcessAction.run(RunProcessAction.java:58) at org.talend.designer.core.debug.JobLaunchConfigurationDelegate$1.run(JobLaunchConfigurationDelegate.java:84) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.talend.rcp.intro.Application.start(Application.java:265) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) 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:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Below my job and the config of the tESBProviderRequest ; the schema produced there is one column "payload" of type "Document"
Here is the config of the tXSDValidator
Can anyone please help me get the right way to do that xsd validation of my incoming SOAP request
Regards,
Ousmane SOW
Hi,
I finally got a solution. It is to convert the payload to string and validate the xml string in the tXSDValidator.
I use a tJavaRow to :
1. convert my xml payload to string
2. keep the original payload for further processing.
//Code généré selon les schémas d'entrée et de sortie output_row.payload = input_row.payload; output_row.payloadString = input_row.payload.toString();
Below the config of the tXSDValidator :
The outputs (main & reject) will have the data coming from the tJavaRow => payload and payloadString.
Hope it can help anyone having the same problem
Hi,
Seems to be a syntax/compilation error in your tXSDValidator component. Please validate by checking the code section in your Studio.
Thank you!
Hi,
I finally got a solution. It is to convert the payload to string and validate the xml string in the tXSDValidator.
I use a tJavaRow to :
1. convert my xml payload to string
2. keep the original payload for further processing.
//Code généré selon les schémas d'entrée et de sortie output_row.payload = input_row.payload; output_row.payloadString = input_row.payload.toString();
Below the config of the tXSDValidator :
The outputs (main & reject) will have the data coming from the tJavaRow => payload and payloadString.
Hope it can help anyone having the same problem
Awesome!!
Thank you for sharing the solution , appreciate that.