cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot generate test message when calling Web Service from BW

Former Member
0 Kudos

Due to business requirement, I intend to leverage SAP PI to read XML file and push to BW WebService DataSource.

To archive that:

1)create a new BW WebService DataSource

2) finish definition of WebService from Function module.

3) create a Web Service from SOAMANAGER

4) configure a WS adapter in PI.

In PI adapter setting, I use WSDL link from SOAMANAGER service browser, which managed to find hostname, port and URL.

Till now, I felt it's OK.

But when I tried to generate a test massage and send to BW,

A wrong message say

"System error while cal'ling Web service adapter: Error when initialize application"

I checked WDSL file and field mapping, they're all fine.

My question are:

1) Could I use WS adapter for this scenario?

2) Could I use SOAP adapter as alternate?

3) actually I tried SOAP adapter, I viewed several SAP notes, use program WSS_SETUP to update ICF and provider but it's still complain "Authentication Failed" in SRT_UITL.

Could anyone help me out about this?

Really appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

former_member184681
Active Contributor
0 Kudos

Hi,

In order to make the scenario work as you defined it, you should use the receiver SOAP adapter. First, you should generate a .wsdl file in SOAMANAGER, then import it in PI ESR, and configure the CC according to it. You provide user credentials in the SOAP communication channel and you should be able to authenticate, just make sure that the user that you use for authentication is assigned a auth profile SAP_BC_WEBSERVICE_CONSUMER.

But if you asked me for advice, I would recommend using a receiver proxy instead of encapsulating a function module in a web service. It should be less error-prone, easier to configure and maintain, and will give you monitoring in the receiver system, in SXI_MONITOR. You can even generate a proxy directly from a RFC-enabled function module - see an example in my blog here: http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/02/24/quick-tip-monitoring-bapi-calls-i...

Hope this helps,
Greg

Former Member
0 Kudos

1) You mentioned a auth profile SAP_BC_WEBSERVICE_CONSUMER.

Does that mean I have to assign it to service user even if it already has SAP_ALL?

2) Do you mean I CANNOT use WS adapter to push data to this interface? Just for my understanding.

thanks.

Shabarish_Nair
Active Contributor
0 Kudos

the WS adapter is usually used for SAP to SAP scenarios. So if one of your system is non SAP then you should use SOAP adapter instead of WS adapter

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>actually I tried SOAP adapter, I viewed several SAP notes, use program WSS_SETUP to update ICF and provider but it's still complain "Authentication Failed" in SRT_UITL

You create webservice definition using SOAMANAGER in BW, so the above steps maintained in the BW system not in PI.

Plus, WS Adapter is mainly used for complex authentication  such as SAML, direct connection between SAP systems and so. In this case you can use soap receiver adapter to consume the web service.

Former Member
0 Kudos

You're correct -  I maintain in BW side.

When calling SOAP, SRT_UITL says "Authentication failed (Method wsse:UsernameToken, SRTUTIL Transaction Id 4F70260221648350E1008000AC130084)" and logon user show "DELAY_L_<SID>".

Is there something missing?

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>You're correct -  I maintain in BW side

Make sure authentication are maintained properly in BW side. PI is just consuming the webservice.

What type of authentication you want to do?  That is my question. If the requirement is say username token or SAML authentication or so then you have to use WS adapter only. 

Otherwise using simple SOAP receiver adapter is enough to consume the webservice which is hosted on BW. Currently you use username token authentication via ws adapter & which is failed due to invalid login credentials. That is the problem.

You can configure user authentication using SOAP adapter (input valid user credentials) and see how that helps.

Former Member
0 Kudos

I removed logon credential in ICF node then problem was resolved.

Answers (0)