cancel
Showing results for 
Search instead for 
Did you mean: 

PROXY to SOAP ; HTTP403 error in PI 7.1

Former Member
0 Kudos

Hi team,

it was proxy to HTTP scenario. Receiver : webportal . We have chnged it to Proxy to SOAP ,due to HTTP does not support multi message generation . I have checked Do NOT USE SOAP Envelope in SOAP rcv channel. Pls find the config details.

Adapter Type: SOAP

Trans.protocal: HTTP

Mess.Protocal: SOAP1.1

Do not use SOAP envelope : Checked

Now Im getting error in RWB .

"Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 403 Access denied"

I checked with the basis people- they confirmed - some request hitting the site. but unable to read the content . they specified HTTP header should contain the content type : text/xml . If I checked "Do not use SOAP envelope " , I guess the content type is application/xml etc.

so how can I change the HTTP content type to text/xml. OR any other reason tfor this error.

thnaks

Drumi.

Accepted Solutions (0)

Answers (3)

Answers (3)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

I checked with the basis people- they confirmed - some request hitting the site. but unable to read the content . they specified HTTP header should contain the content type : text/xml . If I checked "Do not use SOAP envelope " , I guess the content type is application/xml etc.

so how can I change the HTTP content type to text/xml. OR any other reason tfor this error.

The content type when Do Not Use SOAP Envelope is checked defaults to application/xml. To change it to the correct content type, use the MessageTransformBean for your requirement.


ProcessingSequence                         ModuleName           Type     ModuleKey
1          localejbs/AF_Modules/MessageTransformBean            LEB      0
2          sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean LEB      soap

Module Configuration
ModuleKey                ParameterName                ParameterValue
0                      Transform.ContentType          text/xml

For more info, see http://help.sap.com/saphelp_nwpi711/helpdata/en/57/0b2c4142aef623e10000000a155106/frameset.htm

Check also if you are passing credentials in your Receiver.

Hope this helps

Mark

Former Member
0 Kudos

Thanks Mark.

I have added module in SOAP CC. I tesed- it is successfull for a proxy call which contains one record. But failed if a proxy call contains multiple records.In Mapping, target struc will generate , for each record from proxy call (Message splitting). If proxy call contains 5 records , five target structures genarated - that we can see in Moni -in the form of Main and Sub Main documents. In RWB we can see 5 messages.In this case all messages are failing with the same error. If proxy call contains only one record , corresponding message successfully processed to RCv portal.

Any suggestion ...

Thanks

Drumi

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

In Mapping, target struc will generate , for each record from proxy call (Message splitting). If proxy call contains 5 records , five target structures genarated - that we can see in Moni -in the form of Main and Sub Main documents. In RWB we can see 5 messages.In this case all messages are failing with the same error. If proxy call contains only one record , corresponding message successfully processed to RCv portal.

The details are not enough to provide a definite conclusion. So can you answer the following questions?

1.) Are you using synchronous communication? If yes, then I'm afraid message split is not possible

2.) If you are using asynchronous communication, what is the error that you are getting?

Hope this helps,

Mark

Former Member
0 Kudos

Mark,

It is Asyc Communication - EOIO. Message spliing happening in Mapping . Message succesfull in Moni. But failed in RWB with error 403 access denied error.First message in sysError status . remaining in Holding status. If cancelled the first message, second will be in SysError status .

"Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 403 Access denied"

My issue is, why it is successfull for a proxy call which contains one record[in this case message spitting not happend in mapping ], We can see one message in RWB-i.e in successfull status . If proxy call contains multiple records - multiple messages generated in RWB , all are in error status.

Can you suggest why it happends.

Thanks.

Drumi

former_member184681
Active Contributor
0 Kudos

Hi Drumi,

Since you say you get the "Access denied" error - do you use any authentication in the receiver CC?

Hope this helps,

Greg

Former Member
0 Kudos

Hi,

Authentication is maintained in SOAP RCV CC. For one record it is working . But for multiple records its not working.

-Drumi

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Is target message structure designed to support multiple records handling? I think when you send multiple records your request structure varies and that is not compatible with web service definition and so rejection happens. Check the structure , mapping and also the URL string that you send request.

aashish_sinha
Active Contributor
0 Kudos

Hi,

Please remove Do not use SOAP Envelope Check. and please re-check your SOAP Action as well as Target URL if they are correct. Also check if you have given correct authorization parameters for Target URl.

Regards

Aashish Sinha

former_member472138
Active Contributor
0 Kudos

You would get 403 for these reasons.

>>> Path sap/xi/engine not active, should activite at SICF

>>> User XIISUSER/PIISUSER has no authorization to send messages to the messaging system.

>>> This is caused by a deployment error of the Java Engine.

>>> Undeploy the component com.sap.aii.af.ms.app and redeploy SAPXIAF*.sca.

>>> Restart the message

In the case of authentication or authorization errors (HTTP error code 403), make sure that the user and password are defined on the receiver (in the Adapter Engine), and that the user has the appropriate role (the user needs to have the role SAP_XI_IS_SERV_USER_MAIN).

If you set the indicator Do Not Use SOAP Envelope then it means the payload of the message is to be sent without a SOAP envelope

Regards

Pothana