Hi all,
I know how to execute a web service data connection with code, but I have no idea how to access the result it return without bind them to some dummy field, would like to know is this possible with LC Designer?
Regards
Bill
Solved! Go to Solution.
Views
Replies
Total Likes
Hi Bill,
You might be able to use the Acrobat SOAP object to access the web service. By default this will return the result in a JavaScript object so I find it very easy to then process. There are lots of examples under the Acrobat documentation, such as;
Good luck
Bruce
Views
Replies
Total Likes
Hi all,
Anyone have information about it? Like... it is not possible, it should bind to some dummy field.
Regards
Bill
Views
Replies
Total Likes
Hi Bill,
You might be able to use the Acrobat SOAP object to access the web service. By default this will return the result in a JavaScript object so I find it very easy to then process. There are lots of examples under the Acrobat documentation, such as;
Good luck
Bruce
Views
Replies
Total Likes
Hi Bruce,
Thanks for the reference.
I checked the example and it can run, but I cannot apply to the web service I used because it request and return a structure:
e.g.
<Input1>
<para1>
</para1>
<para2>
</para2>
<para3>
</para3>
</Input1>
<Input2>
<para1>
</para1>
<para2>
</para2>
</Input2>
I tried to search a bit but find no example for this structure, would like to know if you will know any...
Regards
Bill
Views
Replies
Total Likes
Hi Bill,
I think you should be able to use the Acrobat SOAP object to connect to this webservice.
If it is a public can you post a lisk or else post the wsdl.
Bruce
Views
Replies
Total Likes
Hi Bruce,
Thanks for offering the help, because I cannot find any option to upload a file, so I will phase the wsdl here.
Regards
Bill
<?xml version="1.0" encoding="utf-8"?><wsdl:definitions targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="urn:sap-com:document:sap:rfc:functions"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsdl:documentation><sidl:sidl
xmlns:sidl="http://www.sap.com/2007/03/sidl"/></wsdl:documentation><wsp:UsingPolicy
wsdl:required="true"/><wsp:Policy wsu:Id="BN_ZWS_ALC_DDL_MNT001"><wsp:ExactlyOne
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sapsp="http://www.sap.com/webas/630/soap/features/security/policy" xmlns:sp="http://docs.oasis-
open.org/ws-sx/ws-securitypolicy/200702" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"><wsp:All><sp:TransportBinding><wsp:Policy><sp:Tr
ansportToken><wsp:Policy><sp:HttpsToken/></wsp:Policy></sp:TransportToken><sp:AlgorithmSuite><wsp:Policy><
sp:TripleDesRsa15/></wsp:Policy></sp:AlgorithmSuite><sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:L
ayout></wsp:Policy></sp:TransportBinding></wsp:All></wsp:ExactlyOne><saptrnbnd:OptimizedXMLTransfer
uri="http://xml.sap.com/2006/11/esi/esp/binxml"
xmlns:saptrnbnd="http://www.sap.com/webas/710/soap/features/transportbinding/"
wsp:Optional="true"/></wsp:Policy><wsp:Policy wsu:Id="IF_ZWS_ALC_DDL_MNT001"><sapsession:Session
xmlns:sapsession="http://www.sap.com/webas/630/soap/features/session/"><sapsession:enableSession>false</sa
psession:enableSession></sapsession:Session><wsp:ExactlyOne
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sapsp="http://www.sap.com/webas/630/soap/features/security/policy" xmlns:sp="http://docs.oasis-
open.org/ws-sx/ws-securitypolicy/200702" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"/></wsp:Policy><wsp:Policy
wsu:Id="OP_Z_RFC_DDL_MNT001"><sapcomhnd:enableCommit
xmlns:sapcomhnd="http://www.sap.com/NW05/soap/features/commit/">false</sapcomhnd:enableCommit><sapblock:en
ableBlocking
xmlns:sapblock="http://www.sap.com/NW05/soap/features/blocking/">true</sapblock:enableBlocking><saptrhnw05
:required
xmlns:saptrhnw05="http://www.sap.com/NW05/soap/features/transaction/">no</saptrhnw05:required><saprmnw05:e
nableWSRM
xmlns:saprmnw05="http://www.sap.com/NW05/soap/features/wsrm/">false</saprmnw05:enableWSRM></wsp:Policy><ws
dl:types><xsd:schema attributeFormDefault="qualified" targetNamespace="urn:sap-
com:document:sap:rfc:functions"><xsd:simpleType name="char10"><xsd:restriction
base="xsd:string"><xsd:maxLength value="10"/></xsd:restriction></xsd:simpleType><xsd:simpleType
name="char15"><xsd:restriction base="xsd:string"><xsd:maxLength
value="15"/></xsd:restriction></xsd:simpleType><xsd:simpleType name="char16"><xsd:restriction
base="xsd:string"><xsd:maxLength value="16"/></xsd:restriction></xsd:simpleType><xsd:simpleType
name="char3"><xsd:restriction base="xsd:string"><xsd:maxLength
value="3"/></xsd:restriction></xsd:simpleType><xsd:simpleType name="char30"><xsd:restriction
base="xsd:string"><xsd:maxLength value="30"/></xsd:restriction></xsd:simpleType><xsd:simpleType
name="char4"><xsd:restriction base="xsd:string"><xsd:maxLength
value="4"/></xsd:restriction></xsd:simpleType><xsd:simpleType name="lang"><xsd:restriction
base="xsd:string"><xsd:maxLength value="1"/></xsd:restriction></xsd:simpleType><xsd:complexType
name="ZSTRU_DDR_CNTY"><xsd:sequence><xsd:element name="LANG_KEY" type="tns:lang"/><xsd:element
name="CNTY_KEY" type="tns:char3"/><xsd:element name="CNTY_NAME"
type="tns:char15"/></xsd:sequence></xsd:complexType><xsd:complexType
name="T002T"><xsd:sequence><xsd:element name="SPRAS" type="tns:lang"/><xsd:element name="SPRSL"
type="tns:lang"/><xsd:element name="SPTXT"
type="tns:char16"/></xsd:sequence></xsd:complexType><xsd:complexType
name="ZSTRU_DDR_RECON_ACC"><xsd:sequence><xsd:element name="LANG_KEY" type="tns:lang"/><xsd:element
name="ACC_KEY" type="tns:char10"/><xsd:element name="DESC"
type="tns:char30"/></xsd:sequence></xsd:complexType><xsd:complexType
name="ZSTRU_DDR_VEN_TITLE"><xsd:sequence><xsd:element name="LANG_KEY" type="tns:lang"/><xsd:element
name="TITLE_KEY" type="tns:char4"/><xsd:element name="TITLE"
type="tns:char30"/></xsd:sequence></xsd:complexType><xsd:complexType
name="TABLE_OF_ZSTRU_DDR_CNTY"><xsd:sequence><xsd:element name="item" type="tns:ZSTRU_DDR_CNTY"
minOccurs="0" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType><xsd:complexType
name="TABLE_OF_T002T"><xsd:sequence><xsd:element name="item" type="tns:T002T" minOccurs="0"
maxOccurs="unbounded"/></xsd:sequence></xsd:complexType><xsd:complexType
name="TABLE_OF_ZSTRU_DDR_RECON_ACC"><xsd:sequence><xsd:element name="item" type="tns:ZSTRU_DDR_RECON_ACC"
minOccurs="0" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType><xsd:complexType
name="TABLE_OF_ZSTRU_DDR_VEN_TITLE"><xsd:sequence><xsd:element name="item" type="tns:ZSTRU_DDR_VEN_TITLE"
minOccurs="0" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType><xsd:element
name="Z_RFC_DDL_MNT001"><xsd:complexType><xsd:sequence><xsd:element name="PO_DDL_BANK_CNTY"
type="tns:TABLE_OF_ZSTRU_DDR_CNTY"/><xsd:element name="PO_DDL_CNTY"
type="tns:TABLE_OF_ZSTRU_DDR_CNTY"/><xsd:element name="PO_DDL_LANG"
type="tns:TABLE_OF_T002T"/><xsd:element name="PO_DDL_RECON_ACC"
type="tns:TABLE_OF_ZSTRU_DDR_RECON_ACC"/><xsd:element name="PO_DDL_VEN_TITLE"
type="tns:TABLE_OF_ZSTRU_DDR_VEN_TITLE"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element
name="Z_RFC_DDL_MNT001Response"><xsd:complexType><xsd:sequence><xsd:element name="PO_DDL_BANK_CNTY"
type="tns:TABLE_OF_ZSTRU_DDR_CNTY"/><xsd:element name="PO_DDL_CNTY"
type="tns:TABLE_OF_ZSTRU_DDR_CNTY"/><xsd:element name="PO_DDL_LANG"
type="tns:TABLE_OF_T002T"/><xsd:element name="PO_DDL_RECON_ACC"
type="tns:TABLE_OF_ZSTRU_DDR_RECON_ACC"/><xsd:element name="PO_DDL_VEN_TITLE"
type="tns:TABLE_OF_ZSTRU_DDR_VEN_TITLE"/></xsd:sequence></xsd:complexType></xsd:element></xsd:schema></wsd
l:types><wsdl:message name="Z_RFC_DDL_MNT001"><wsdl:part name="parameters"
element="tns:Z_RFC_DDL_MNT001"/></wsdl:message><wsdl:message name="Z_RFC_DDL_MNT001Response"><wsdl:part
name="parameter" element="tns:Z_RFC_DDL_MNT001Response"/></wsdl:message><wsdl:portType
name="ZWS_ALC_DDL_MNT001"><wsp:Policy><wsp:PolicyReference
URI="#IF_ZWS_ALC_DDL_MNT001"/></wsp:Policy><wsdl:operation
name="Z_RFC_DDL_MNT001"><wsp:Policy><wsp:PolicyReference
URI="#OP_Z_RFC_DDL_MNT001"/></wsp:Policy><wsdl:input message="tns:Z_RFC_DDL_MNT001"/><wsdl:output
message="tns:Z_RFC_DDL_MNT001Response"/></wsdl:operation></wsdl:portType><wsdl:binding
name="ZWS_ALC_DDL_MNT001" type="tns:ZWS_ALC_DDL_MNT001"><wsp:Policy><wsp:PolicyReference
URI="#BN_ZWS_ALC_DDL_MNT001"/></wsp:Policy><soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/><wsdl:operation name="Z_RFC_DDL_MNT001"><soap:operation soapAction=""
style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body
use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="service"><wsdl:port
name="ZWS_ALC_DDL_MNT001" binding="tns:ZWS_ALC_DDL_MNT001"><soap:address
location="http://hkqadev.fairton.com:8000/sap/bc/srt/rfc/sap/zws_alc_ddl_mnt001/300/zws_alc_ddl_mnt001/zws
_alc_ddl_mnt001"/></wsdl:port></wsdl:service></wsdl:definitions>
Views
Replies
Total Likes
Hi Bill,
That's a little bit more of a web service than I am used to dealing with, so I've only looked at the first part of it but hopefully that will be enough to get you going. But what you will need to do is build up some XML to pass to the SOAP method. Generally this could be done neatly using e4x but I was not able to get e4x to handle the no-namespace element PO_DDL_BANK_CNTY, that is e4x always seemed to ignore the " xmlns='' " bit. So you might have to create the XML as a string.
var inputXML = "<Input>"+
"<PO_DDL_BANK_CNTY xmlns=''>"+
"<item>"+
"<LANG_KEY>lang1</LANG_KEY>"+
"<CNTY_KEY>key1</CNTY_KEY>"+
"<CNTY_NAME>name1</CNTY_NAME>"+
"</item>"+
"<item>"+
"<LANG_KEY>lang2</LANG_KEY>"+
"<CNTY_KEY>key2</CNTY_KEY>"+
"<CNTY_NAME>name2</CNTY_NAME>"+
"</item>"+
"</PO_DDL_BANK_CNTY>"+
"</Input>";
var service = SOAP.connect("http:// --- put your url here ---?wsdl");
if (typeof(service) == "object")
{
var result = service.Z_RFC_DDL_MNT001(inputXML);
The result variable will be a JavaScript object which does make it quite nice to work with but there are some trick in your case as you are returning arrays. If there are more than one entry in the array then you will get the array you expect, but if there is only one entry in the array then you will just get a object.
So you will need some code something like;
if (result.PO_DDL_CNTY instanceof Array)
{
for (var i = 0; i < result.PO_DDL_CNTY.length; i++)
{
console.println("CNTY_KEY["+i+"]="+result.PO_DDL_CNTY[i].CNTY_KEY);
console.println("CNTY_NAME["+i+"]="+result.PO_DDL_CNTY[i].CNTY_NAME);
console.println("LANG_KEY["+i+"]="+result.PO_DDL_CNTY[i].LANG_KEY);
}
}
else
{
console.println("CNTY_KEY="+result.PO_DDL_CNTY.item.CNTY_KEY);
console.println("CNTY_NAME="+result.PO_DDL_CNTY.item.CNTY_NAME);
console.println("LANG_KEY="+result.PO_DDL_CNTY.item.LANG_KEY);
}
Good luck
Bruce
Views
Replies
Total Likes
Views
Likes
Replies