Hi,
DS version - DS XI 3.2 SP1
I am trying to call a SOAP webservice using a webservice Datastore. The input request format has a recursive tag (feature within a feature)
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:ns1=“http://namf09.anzlic.org.au” xmlns:ns2=“http://ws.namf09.anzlic.org.au”>
SOAP-ENV:Body
ns2:execute
<ns1:requests id=“200” version=“1.0”>
ns1:authentication
ns1:usernameusername</ns1:username>
ns1:password********</ns1:password>
</ns1:authentication>
ns1:features/
<ns1:request id=“200.1” name=“executeWorkflow”>
ns1:features
<ns1:feature name=“workflow”>
<ns1:feature name=“name”>
ns1:featureValuegetResults</ns1:featureValue>
</ns1:feature>
<ns1:feature name=“parameters”/>
</ns1:feature>
</ns1:features>
ns1:address
ns1:unstructuredAddressLine15th avenue manhattan newyork</ns1:unstructuredAddressLine1>
</ns1:address>
</ns1:request>
</ns1:requests>
</ns2:execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
-
Input to my dataflow is an XML (Which has been created using the default SOAP request from the SOAP UI tool). While creating the XML Schema (For input file) I have given a circular level as 1 (Default is 0) to show the recursive tags. The definition which gets created is-
-
While creating the webservices Datastore I have mentioned the XML recursion level as 1 (Default is 0). When I do this I can see that feature gets repeated within feature tag and is in sync with Source XML format.
-
I am running this job from the command line in server to generate the axis2_log.txt file . axis2_log shows my SOAP request in the below format -
<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/”>
soapenv:Body
<ns3:execute xmlns:ns3=“http://ws.namf09.anzlic.org.au” xmlns:ns2=“http://namf09.anzlic.org.au”>
<ns2:requests version=“1.0” id=“200”>
ns2:authentication
ns2:usernameusername</ns2:username>
ns2:passwordpassword</ns2:password>
</ns2:authentication>
<ns2:features />
<ns2:request name=“executeWorkflow” id=“200.1”>
ns2:features
<ns2:feature name=“workflow” />
</ns2:features>
ns2:address
ns2:statusVAL</ns2:status>
ns2:postcode9999</ns2:postcode>
ns2:unstructuredAddressLine15th avenue manhattan newyork</ns2:unstructuredAddressLine1>
ns2:deliveryPointIdentifier88888888</ns2:deliveryPointIdentifier>
</ns2:address>
</ns2:request>
</ns2:requests>
</ns3:execute>
</soapenv:Body>
</soapenv:Envelope>
It can be seen that the the 2nd feature tag is lost and is not part of the SOAP request.
I have tried loading my source file into a DB table and there is no issue in that. I just feel DS is creating the first instance of feature tag in SOAP request and not looking for nay more instances of the same tag.
sominya_bajpai (BOB member since 2008-01-24)