cancel
Showing results for 
Search instead for 
Did you mean: 

Advice on client proxy generation (ABAP and SAP PI)

alancecchini
Participant
0 Kudos

Hi,

I've set up an ABAP client proxy using the wizard in transaction SE80 in the backend system, released it using transaction SOAMANAGER and tested that it works.

I now want to compare this technical approach against the same scenario using a proxy generated from a SAP PI outbound synchronous message interface.

I have hit the following issues:

1) When I upload the WSDL file (saved from the test web service I exposed from one of our SAP systems) into the Integration Repository, I receive the following error:

"Check Result for Object GetDOB_WSDL Document check found errors Cause: Unable to recognize the loaded document as valid WSDL Tag Policy is not permitted at position portType".

I can remove this error by deleting the tag policy but don't have an answer why this is not supported and whether this is the right approach - this error occurs regardless of which option I choose when saving the WSDL (i.e. portType or binding) or which upload option I select.

2) When I create the proxy in the backend system based on the message interface the objects are all created successfully and generate/activate correctly. As I don't need the PI runtime (no mapping, queuing etc) I go to create the logical port in transaction SOAMANAGER and I receive the error:

SRT Framework exception: The WSDL document is not compatible with proxy class "ZPROXCO_ZFUNC_UPDATE_ADDRESSHI": "Operation(s) Missing ZFuncUpdateAddresshistory"

even though the external operation does exist and is called ZFuncUpdateAddresshistory.

I have no clues as to why this doesn't work other than the generated WSDL file in the ABAP client proxy has the same name for the portType and operation (ZFuncUpdateAddresshistory).

3) Can someone please explain the value at design time over creating the client proxy in SAP PI versus using simply the wizard in the backend ABAP system - is it simply that the interfaces can be held centrally in the IR if desired or the WSDL might already be there and could be used to quickly generate a message interface?

Thanks,

Alan

Accepted Solutions (1)

Accepted Solutions (1)

former_member181962
Active Contributor
0 Kudos

Hi,

As far as I know, we follow the top down approach in proxy scenarios.

meaning, we first create the interfaces in XI IR and then go to the back end to implement them.

So, you should create a message interface (Probably Manually rather than importing the wsdl from R/3)

in IR and then go to the ERP backend to implement the proxy using the SPROXY transaction.

Coming to your 3rd question, In PI 7.1 you might be knowung that we have something called ESR(Enterprise Service Repository), which has all the services in a single place.This gives us an option of collating all the different enterprise services scattered all over different systems to be in a common repository.

Regards,

Ravi Kanth Talagana

Answers (1)

Answers (1)

0 Kudos

Hi Alan,

Did you get your problem solved? If yes, Can you let me know how?