Expand my Community achievements bar.

Extracting values from xml tags in wsdl

Avatar

Level 3

Hi,

I have a process which makes an LDAP call. I have an output variable of type xml and have an xsd referenced to it. The XSD has been imported in the wsdl of the process and I am using the manipulated wsdl file to invoke the process from a pdf form. The tags of the xml output variable do appear in the response wsdl, but they are under the document tag under the variable name and are in the CDATA section. Is there any way that I can have a fiel in the form and directly bind it to the elements in the return xml. I tried binding the elements, but the field does not show any value even when the reponse has the value in it.

Please help.

Regards,

Nakul

4 Replies

Avatar

Level 10

Sorry but you just can't do this.

Same answer as http://forums.adobe.com/thread/575192.

You need to load your xml in one field in your form, then parse the content and then do the binding manually.

Jasmin

Avatar

Level 3

Thanks a lot Jasmine for your response and patience.

Why I am still working on this is because I came across another application, where a similar xml variable has been defined and referenced with an XSD, but acting as an input variable. In that application the service is invoked by a Java UI. I used a software called soapUI to track the wsdl file being generated during invoking the service for that application, and found that although the xml file generated by the input variable of xml type is contained under the document tag, there is no CDATA section associated with it. Please find below the part of the WSDL file.

<soapenv:Envelope


xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header></soapenv:Header>
<soapenv:Body>
  <se:invoke
xmlns:ba="http://bankdatatype.eforms.nml.com"
xmlns:co="http://contractbasicdatatype.eforms.nml.com"
xmlns:co_1="http://contractdistributiondatatype.eforms.nml.com"
xmlns:co_2="http://contracttaxdatatype.eforms.nml.com"
xmlns:cu="http://customerdatatype.eforms.nml.com"
xmlns:ef="http://eformdatasrforms.eforms.nml.com"
xmlns:em="http://emaildatatype.eforms.nml.com"
xmlns:fo="http://formdatatype.eforms.nml.com"
xmlns:mg="http://mgpbasicdatatype.eforms.nml.com"
xmlns:se="http://adobe.com/idp/services"
xmlns:sr="http://srformarraydatatype.eforms.nml.com"
xmlns:su="http://subjectarraydatatype.eforms.nml.com">
<se:inBaseFormId>10030</se:inBaseFormId>
<se:inEmail>false</se:inEmail>
<se:inInteractiveForm>true</se:inInteractiveForm>
<se:inPrintToMail>true</se:inPrintToMail>
<se:inProcessType>P</se:inProcessType>
<se:inWatermark>Working Draft-Not for Client Delivery</se:inWatermark>
<se:inXmlSubjectArray>
<se:document>
<se:SubjectArrayData>
<su:SubjectArrayRow>
<su:subjectTypeCde>2</su:subjectTypeCde>
<su:subjectNum>13717972</su:subjectNum>
</su:SubjectArrayRow>
<su:SubjectArrayRow>
<su:subjectTypeCde>175</su:subjectTypeCde>
<su:subjectNum>1001AAAA3717972</su:subjectNum>
</su:SubjectArrayRow>
</se:SubjectArrayData>
</se:document>
</se:inXmlSubjectArray>

<se:inXmlEmail>

<se:document>
<se:EmailData>
<em:communFromNam />
<em:communToNam />
<em:communCcNam />
<em:communBccNam />
<em:communSubjectTxt />
<em:communBodyTxt />
</se:EmailData>
</se:document>

The boldened and italized section of the above excerpt is the one that is derived from the xml variable. Can you give me some cue on as to why this works this way? If I manage to get the response in the above format, will I be able to do the binding?

Regards,

Nakul

Avatar

Level 10

This is a Form Designer limitation.

When you make the web service call and get XML back, there is no way in Form Designer to bind the response directly to fields on the form.

Jasmin

Avatar

Level 3

Thanks a lot for the prompt response Jasmin. You were really very helpful.

Regards,

Nakul