cancel
Showing results for 
Search instead for 
Did you mean: 

Exception when calling ABAP Proxy modelled in SAP PI: CL_SOAP_RUNTIME_ROOT

Former Member
0 Kudos

Hi,

We have a scenario where we:

1. Modell an interface in SAP PI

This interface contains a complex type from a different namespace

2. Use it to create an ABAP proxy in backend system

3. Configure it with SOAManager

4. Call the ABAP proxy ws directly from a third-party system (biztalk)

We're currently testing calling the ABAP proxy from soapUI, but get a strange exception thrown by the SOAP framework in ABAP backend.

The test in soapUI is setup by importing the WSDL acquired from SOAMANAGER.

The error message we in the SOAP response is:

CX_SY_REF_IS_INITIAL:Exception CX_SOAP_ROOT occurred 
(program: CL_SOAP_RUNTIME_ROOT==========CP, include: CL_SOAP_RUNTIME_ROOT==========CM004, line: 130)..
An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither handled locally, 
nor declared in a RAISING clause.Dereferencing of the NULL reference

It is a very low level error from the CL_SOAP_RUNTIME_ROOT program and not a descriptive error message at all.

We've checked the user and the authorizations it has, we've redone the SOAManager config but the problem persists.

We find no dumps in the ABAP proxy since the request never reaches it.

For a limited time I'll make WSDL and SOAP response available

WSDL (some values anonymized) available at http://dl.dropbox.com/u/4379928/SOAP/project.wsdl

Complete SOAP response is available at http://dl.dropbox.com/u/4379928/SOAP/soap_data.xml

Any ideas on where to look?

Accepted Solutions (0)

Answers (1)

Answers (1)

DG
Active Contributor
0 Kudos

Hi

I was thinking that it is the <ID></ID> which is missing an value. That would tie well into the null value

Daniel

Former Member
0 Kudos

See that I didn't add the entire soap response, but instead the soap data that was sent

(removed one of the links above)

As far as I can see the soap data that is sent will validate against the WSDL/XML schema.

soapui makes sure of this, and when manually looking at the soap data it has the ID element filled out.

I believe this error happens at a much lower leave since the Null exception is thrown by the SOAP framework in ABAP.

This exception should not have occured if SAP had proper exception handling in the program CL_SOAP_RUNTIME_ROOT.

Former Member
0 Kudos

Hi,

We've now managed to implement a workaround.

The workaround was to create the endpoint in PI as well.

So that the traffic goes from third-party solution->PI-> WS-enabled ABAP Proxy

When we did this initially, we got some errors related to the asynch method of this call, but this was resolved by changing the channel from "best effort" to "Guaranteed delivery".

Still we don't know what the root cause of the initial problem was, but we assume it is related to the asynch nature of the service (though we have other asynch proxies that work without problems).

Regards

Dagfinn