cancel
Showing results for 
Search instead for 
Did you mean: 

Consumer proxy to PI

Former Member
0 Kudos

Hi,

We have a consumer proxy that was created with class interfaces in ABAP. This did not follow the traditional message interface from ESR. The integration of this consumer proxy is through PI to a .net Webservice through SOAP adapter. Since the consumer proxy is created using ABAP class interfaces, the logical port needs to be set up using SOA manager. But the SOA manager needs a WSDL URL to be filled in the definition of the logical port. I am aware for proxy objects in SPROXY, the WSDL is available but how is the WSDL URL derived for proxies created from ABAP? or Does the WSDL URL need to be the same as the receiver WSDL URL ? I am a bit confused here. I am trying to do a simple consumer proxy->PI->SOAP scenario.

Teresa

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi Teresa,

>>>but how is the WSDL URL derived for proxies created from ABAP?

for ABAP proxies going to PI you don't use any URL - RFC dest to PI is used

and you don't need to maintain any logical port

Regards,

Michal Krawczyk

Former Member
0 Kudos

Thanks Michal. May be I am a little confused here.

So if I call this proxy class from a report with a create object, how would I have my outbound structure set up in PI to receive the XML message from ECC triggered by the report implementing the proxy class. The proxy class shows 3 interfaces IF_PROXY_BASIS, IF_PROXY_BASIS_INTERNAL and IF_PROXY_CLIENT with the different requests as methods. Am I missing something very basic out here?

This is a proxy class created by an ABAPer and not from SPROXY. In SPROXY, the outbound structure is seen under the different operations with their types defined.

I am trying to reverse engineer here and spinning myself into a cobweb. Please advise.

Teresa

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>This is a proxy class created by an ABAPer and not from SPROXY. In SPROXY, the outbound structure is seen under the different operations with their types defined.

- you can either call PI via proxy class created in sproxy - then you don't need to use any receiver CC (any sender agreement)

in PI

- or you can call PI WS from ECC then you do it over SOAP channel - then you need logical point

ask your abap guy to implement proxy class - unless you need something else for specific reason - but this is not a case I believe

do it as should be done in standard and you won't need any destination in the program code not soamanager

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi,

Thanks for the response

"you can either call PI via proxy class created in sproxy - then you don't need to use any receiver CC (any sender agreement)

in PI"

-


This is not a Proxy class created from SPROXY.

"you can call PI WS from ECC then you do it over SOAP channel - then you need logical point "

-


I intend on going this route. I have the WSDL imported into PI and SOAP receiver has been set. Also a logical port with reference to the PI WSDL URL has been created in ECC and assigned to the ABAP class interface.

Now when the Abaper implements the class, is it the logic that the PI WS would be called from the execute method through the logical port and the request passed on to PI ?

Teresa

Former Member
0 Kudos

Hi,

You should be careful that if you have chosen the logical port as default from SOAMANAGER, your client proxy will use that logical port to connect to the endpoint even though you specify another logical port name while instantiating the object in your proxy code.

Since you want to use the SOAP adapter configured in PI to receive the call via a web service instead of standard XI protocol through XI adapter from ECC, and also configured a logical port for it in SOAMANAGER, either select this logical port as default or specify it in your proxy code. You can see how the call is made (if XI or WS runtime is used) from SXI_MONITOR afterwards. Be aware that though sync calls needs additional settings to be persisted and might not show up in this transaction until you do so.

Regards,

Gokhan

Former Member
0 Kudos

Hi,

Yes I have planned to Logical port and the default port will be fired from the implementing ABAP proxy class. The communication will have to happen then from ECC to the PI WS. The WSDL definition in the logical port of ECC is same as the WSDL of the receiver PI service.

Teresa

sunil_singh13
Active Contributor
0 Kudos

Smith,

Apart from your requirement, I didnt understand the need of using ABAP objects instead of creting interface in PI.

You have Webservice @ other end to which you want to call from Client proxy using PI. You must be having WSDL of Webservice, Import it in PI then USe SPROXY transaction of your Application system to impletent the class. Thats it !!!

Also anyhow you would have created the Message interface in PI but you are not using it !!!!

Not sure why you didn't use this approach.

Thanks,

Sunil Singh

Former Member
0 Kudos

Hi,

WSDL URL for Logical port can be ur WSDL url which you will get after configuring Sender agreements in ID ( If you are configuring the scenario with WS Adapters)...

Go to Sender Agreement from Menu -


>Say Display WSDL...u will get WSDL-URL copy it and use it while configuring Logical port....hope this will be useful...

Thanks,

Kalyan

Answers (0)