cancel
Showing results for 
Search instead for 
Did you mean: 

CALLING THE WEB SERVICE

Former Member
0 Kudos

Hi gurus,

how we call the web service based on incoming value form SAP ?

the above one is my exact question let me explain clearly

i have the scenary lke SAP -


(CLIENT PROXY)--


>SAPXI---(SOAP)----Thirdparty

the third party will provide the WSDL including three functions like I(insert),U(update),D(delete).from sap side they will write a proxy program and send the data along with the field flag(I,U or D) based on that flag field we need to call the Webservice

this is my requiremnnt is it possible?

note: all operation coming in single WSDL plz suggest me

thanks in advance

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

You use same WSDL for all three operations. So I believe same WSDL URL. How about action? If that is different for each insert , update and delete operation... You might have to use UDF and dynamically change the action before PI call the webservice. But still one soap receiver is good enough. See Abhishek's reply on this thread

If your action is same for all operations then you might have to create three recievers

Hope that helps.

Former Member
0 Kudos

Hi bhaskar,

Can u please explain the logic how can i call the perticular part of the WSDL . and also explain a bit clearly about three type of recivers creation for same WSDL(target structure)

it is very helpfull for me

Thanks

Former Member
0 Kudos

Hi Bhaskar,

here ths my exact requirement

BLE

-


Fault

-


Exception code

-


Exception message

ADDPARTS

-


Add parts

-


Parts

-


Each record

-


Field1

-


Field2

-


Field3

-


Price

-


Usd

-


Field4

ADD PARTSRESPONSE

-


Add parts response

-


Status

-


Success

-


Message

DELETEPARTS

-


Deleteparts

-


Parts

-


Criteria

DELETEPARTSRESPONSE

-


Deletepartsresponse

-


Status

-


Success

-


Message

GETPARTS

-


Getparts

-


Parts

-


Criteria

GETPARTSRESPONSE

-


- -Getpartsresponse

-


Status

-


Parts

-


Eachrecord

-


Field1

-


Field2

-


Field3

-


Field4

UPDATEPARTS

-


Updateparts

-


Parts

-


Eachrecord

-


Field1

-


Field2

-


Field3

UPDATEPARTSRESPONSE

-


Updatepartsresponse

-


Status

i have the webservice like this in WSDL . messages are ADDPARTS,ADDPARTS RESPONSE,GETPARTS,GETPARTSRESPONSE,UPDATEPARTS,UPDATEPARTSRESPONSE........

i need to call the perticular webservice of the WSDL at runtime based on the value coming from source to the field FLAG

please suggest to me reg this

thanks in advance

Former Member
0 Kudos

HI

As of my understanding you have 3 different functions in single WSDL Provided by third part and you have proxy on Sender side. now you want to select appropriate WSDL Function depending on Flag field from source side.

in that case could you provide details for following question?

so you mean to say you have Single WSDL with Different (3) Messages inside.? am I right?

if above question answer YEs then following are the steps.

create single outbound service interface with multiple operations inside.. and create three different mapping and operation mapping then on ID side create receiver determination and single Interface determination and provide respected operation mapping to respected operations .. this will resolve your problem..

as now you have single WSDL and 3 messages inside and you have developed single outbound service interface with multiple(3) different operations inside on ID side it will detect the right message and right message mapping accordingly..

one more question..is your Target system for all 3 function same or different?

Thanks,

Bhupesh

Answers (2)

Answers (2)

abhay_rajhans2
Contributor
0 Kudos

Hi Katakoti,

I am not very clear with your requirement.

1)Are you using same WSDL for all three operations?

2)If yes then are you sending the data for three actions to same URL?

3)If yes then it will be easy requirement when ever there is specified action means Insert/Modify/Delete, populate that part of WSDL which is required for the particular action.

If answers to 1st and 2nd point is no then you need to specify multiple receivers in the receiver agreement which will pass data to different receivers. For that you can specify data based condition in receiver agreement.

Former Member
0 Kudos

Hi

thanks for your reply

i am using the same WSDL & same URL for the three operations along with target structure. i need to poplate perticular action part based on the input value coming from the SAP

Source target

FLAG (I) -


(i need to populate the insert operation part of the WSDL )

this is my requirement can you please suggest to me how can i populate this ?

can you please explain me clearly becoz i am new to this type of scenario or else u camn suggest to any document or blog regarding this

thanks

Edited by: katakoti on Mar 16, 2011 5:51 AM

Former Member
0 Kudos

Yes, You can do this using a BPM, by switching CC receiver considering flag field (I => call CCReceiver pointed to Insert WebMethod on Receiver Service destination, U => call CCReceiver pointed to Insert WebMethod on Receiver Service destination, ecc...)

Former Member
0 Kudos

Hi

thanks for your reply

we dnt use the BPM please suggest me is there anything other than this

Thanks in advance