Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Date From SOAP todatabase

Hi,

I am new user of Talend Open Studio.

I d like to get data from SOAP service to put in a database.

I do not know what is the difference between "tsoap", "twebService", "twebserviceInput" ans WebsService Metadata.

Somebody can help me ?

Thanks,

Ponce

Labels (2)
15 Replies
Anonymous
Not applicable
Author

I have this on TOS :

tsoap ->row(Main)->tlogrow

 

In tsoap :

Endpoint : URL

Action SOAP : url with Method name

Version : SOAP1.1

SOAP Message : your code with my three paramters.

 

When execute : Syntax error on token "Invalid Character", invalid (It could have another errors ....)

org.talend.designer.runprocess.ProcessorException: Erreurs de compilation du Job 
Au moins le Job "testJob" a des erreurs de compilation, réparez et réexportez.
Ligne en erreur: 561
Message détaillé: Syntax error on token "Invalid Character", invalid (
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:533)
	at org.talend.designer.runprocess.RunProcessService.checkLastGenerationHasCompilationError(RunProcessService.java:316)
	at org.talend.designer.runprocess.ProcessorUtilities.generateBuildInfo(ProcessorUtilities.java:826)
	at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:609)
	at org.talend.designer.runprocess.ProcessorUtilities.generateCode(ProcessorUtilities.java:1951)
	at org.talend.designer.runprocess.RunProcessContext$1.run(RunProcessContext.java:601)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:440)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:356)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:474)
	at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:240)
	at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:966)
	at org.talend.designer.runprocess.RunProcessContext.exec(RunProcessContext.java:548)
	at org.talend.designer.runprocess.ui.ProcessComposite.exec(ProcessComposite.java:1444)
	at org.talend.designer.runprocess.ui.views.ProcessView$RunAction.run(ProcessView.java:700)
	at org.talend.designer.runprocess.ui.actions.RunProcessAction.run(RunProcessAction.java:58)
	at org.talend.designer.core.debug.JobLaunchConfigurationDelegate$1.run(JobLaunchConfigurationDelegate.java:85)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4906)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4475)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
	at org.talend.rcp.intro.Application.start(Application.java:277)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1474)

 

This is the result on SOAPUI :

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="XXXXXX" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <SOAP-ENV:Body>
      <ns1:getSitesResponse>
         <getSitesReturn SOAP-ENC:arrayType="ns1:wsPiSite[6]" xsi:type="ns1:wsPiSiteArray">
            <item xsi:type="ns1:wsPiSite">
               <abrege_site xsi:nil="true"/>
               <adr1 xsi:type="xsd:string">XXXXXX</adr1>
               <adr2 xsi:type="xsd:string">XXXXXX</adr2>
               <adr3 xsi:nil="true"/>
               <civilite_dirigeant xsi:type="xsd:string">M.</civilite_dirigeant>
               <code_site xsi:type="xsd:int">XXXXXX</code_site>
               <cp xsi:type="xsd:string">XXXXXX</cp>
               <email xsi:type="xsd:string">XXXXXX</email>
               <fax xsi:type="xsd:string">XXXXXX</fax>
               <naf xsi:nil="true"/>
               <nom_dirigeant xsi:type="xsd:string">XXXXXX</nom_dirigeant>
               <nom_forme_juridique xsi:nil="true"/>
               <nom_site xsi:type="xsd:string">XXXXXX</nom_site>
               <prenom_dirigeant xsi:type="xsd:string">XXXXXX</prenom_dirigeant>
               <rne xsi:type="xsd:string">XXXXXX</rne>
               <siret xsi:nil="true"/>
               <tel1 xsi:type="xsd:string">XXXXXX</tel1>
               <tel2 xsi:nil="true"/>
               <ville xsi:type="xsd:string">XXXXXX</ville>
            </item>
[...]
 </getSitesReturn>
      </ns1:getSitesResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

Anonymous
Not applicable
Author

This looks like a compilation error. I'm afraid my French is not great. If it is a compilation error, you can get more information by clicking on the "Code" tab in the bottom left corner of the development window, waiting for the code to be built and then looking for red blocks on the right of the page. Click on the red blocks and it will take you to the code in error. Can you take a few screenshots of any code errors found? Also, can you take a screenshot of your tSOAP config please?

Anonymous
Not applicable
Author

On the bottom left corner, you mean "outline" ?

I don't see a development windows.


tos-tsoap.png
Anonymous
Not applicable
Author

When I said the development window, I meant where you place your components. You have a "Code" tab there. If you click on it, it will reveal the code that has been generated. I can see one error from your screenshot though. Take a look at the image below....

0683p000009M7Vu.png

 

Where you have replaced the context variable examples I gave you, you have made 1 or 2 possible mistakes (I cannot see as this has been covered). You have either added new variables here and omitted to include the + symbols before and after those variables. These are required for String concatenation. Everything after the last " is concatenated with the value held by the variable after the + in my example. The alternative is that you have added a hardcoded value. In which case you need to remove the quotes after the > and before <.

 

For example, I gave you something like this....

 

<Login>"+context.Login+"</Login>

If you are adding a new variable to replace context.Login, you needed to change it to this (assuming the new variable is actually a column value from a row)....

<Login>"+row1.columnVal+"</Login>

If you are hardcoding a literal value (the actual login name), you would want to do this...

<Login>MyActualName</Login>

What you have done is left the quotes and omitted the +s. This will break the Java String.

Anonymous
Not applicable
Author

Hi,

thanks for your message.

I have some difficulties to understand about variables.

Where we have to put the values of variables ?

About Login and Password, is it like on the picture ?

What about the ClientCode we need too ?

 

You say

<Login>"+row1.columnVal+"</Login>

But for a tsoap component, what/where is row1 and columnVal ?

Should we use a WSDL webservice metadata for to put values ?

Thank you,

Ponce


tos-tsoap-2.png
Anonymous
Not applicable
Author

My example was a generic example using what most people use to pass values into SOAP messages. But I could have been clearer. "row1.columnVal" was just a generic reference to the standard row and column notation used. This could have been a context variable or any other Java variable. What is happening here is that several domain specific languages/contexts are being combined. Creating the SOAP message is just a case of Java String manipulation.