Skip to Content
Author's profile photo Ramya Vasanth

Mapping different kinds of soap response

Scenario 1: simple property repeats

WSDLResponse

7.PNG

Model structure

1.PNG

Mapping

2.PNG

Scenario 2: Outer most Complex Property repeats

Wsdl Response

8.PNG

Here the outer most complex structure ns4:ComplexType_Level1 repeats. So make ns4:ComplexType_Level1 entity set in edmx as below

Model structure

3.PNG

Response Mapping looks like

4.PNG

But with kind of a model we cannot map properties of the outer most element which in this case is GetParentResponse. If properties of GetParentResponse is also required, then we need to do a $expand kind of scenario where the model looks like

6.PNG

Here a navigation is defined from ParentSet to CPLevel1.

Select data source i.e. wsdl operation with ParentSet as Entity Set and map only outer most properties of GetParentResponse. Map the ComplexProperty structure using script file as suggested in blog

http://scn.sap.com/community/developer-center/mobility-platform/blog/2015/08/10/how-to-implement-expand-scenario-with-soap-data-source

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      HI Ramya,

       

      Hope you are doing good! Many thanks for sharing this article!

       

      We are facing an issue where we have repeated complex types from the SOAP and after the data modelling  we are just getting single record and other records doesn't come in the response though the SOAP Service gives all the records.

       

      Here is my SOAP Request and response below :

       

      SOAP Request :

      <soapenv:Body>
      <web:getIndividualProfileDetails>
      <!--Optional:-->
      <GetIndividualProfileDetailsRequest>
      <!--Optional:-->
      <nesIndividualId>9006279</nesIndividualId>
      <!--Optional:-->

      <!--Optional:-->

      <!--Optional:-->

      </GetIndividualProfileDetailsRequest>
      </web:getIndividualProfileDetails>
      </soapenv:Body>

       

      SOAP Response :

       

      OData Model :

      OData Request mapping :

      OData Response mapping :

       

       

      Here I just want the repeated Structure of Licenses Node in the Odata response and below are the Service request and response :

       

      Service request : https://10.38.42.23:8083/gateway/odata/SAP/TAQATSERVICETMP/GetIndividualProfileDetailsResponseTestSet(9006279)

       

      Service Response :

       

       

      I have defined the Read & Query operation both, also I have tried with SplitByValue function as well but still only single record come in the response

      I just want to have all the records of License in single service call because with the whole complex SOAP structure I am just having single records and multiple records in that Response isn't feasible.

      I have lost quite a bit of time in this and any help would be appreciated.

       

      Best Regards

      Fenil