cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Adapter - 500 Error

Former Member
0 Kudos

Hi,

I'm trying to send a soap message to the XI server using the SOAP Adapter. I'm using xmlspy

to send the soap message to the server and get the following error:

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP:Body>

<SOAP:Fault>

<faultcode>SOAP:Server</faultcode>

<b><faultstring>com.sap.aii.messaging.srt.BubbleException: Can't call

the endpoint; Exception raised by com.sap.aii.messaging.net.TransportException: HTTP 500

Internal Server Error</faultstring></b> </SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>

<b>Below is my SOAP Adapter configuration file:</b>

  1. Bubble adapter java class

classname=com.sap.aii.messaging.adapter.ModuleBubble

  1. Sets the bubble module helper that can instantiate your bubble bag

Bubble.Helper=com.sap.aii.messaging.adapter.ModuleBubbleHelperXMBWSImpl

              1. Part 0 (FromWS and ToWS) : common part ######

XMB.Client=100

XMB.Language=English

  1. Keeps the XMB headers in web service messages

XMBWS.KeepHeaders=true

  1. Encodes the xmb headers into a special HTTP header string x-xmb_ws_encoded

XMBWS.UseEncoded=false

            1. Part 1 (FromWS) : WS clients to XMB server ######

  1. The target URL of XMB broker, to which the adapter sends XMB messages.

XMB.TargetURL=http://<xiserverhostname>:8000/sap/xi/engine?type=entry

  1. The port and path where the adapter waits for web service messages from clients.

XMBWS.WSPort=4444

XMBWS.WSPath=/myservice/ws

  1. The following XMB attributes are used to fill default XMB messages.

XMB.SenderBusinessSystem=XMBWebServiceAdapterSender

XMB.SenderInterfaceNamespace=http://sap.com/xi/xidemo

XMB.SenderInterfaceName=XMBWebServiceAdapterSenderIF

XMB.ReceiverBusinessSystem=XMBWebServiceAdapterReceiver

XMB.QualityOfService=BE

            1. Part 2 (ToWS): XMB clients to WS server ######

  1. The target URL for the web service, to which the adapter sends web service messages.

XMBWS.TargetURL=http://<WS host>:<wsport>/myservice/ws

  1. The port and path where the adapter waits for XMB messages from clients.

XMBWS.XMBPort=8240

XMBWS.XMBPath=/myservice/xmb

  1. The default SOAPAction HTTP request header to the web Service server

XMBWS.DefaultSOAPAction=xmbws

  1. Uses the "Receiver" name as the SOAPAction and sets the delimiter

XMBWS.UseSOAPAction=receiver

XMBWS.SOAPActionDelimiter=&

  1. END

Am i missing something? I need help on XMBWS.WSPort=4444 and XMBWS.WSPath=/myservice/ws. What do they mean and can the port number be arbitrary?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Do you have these business systems defined in SLD

XMBWebServiceAdapterSender

XMBWebServiceAdapterReceiver

and these in Integration Repository and have configured them in Direcotry

XMB.SenderInterfaceNamespace=http://sap.com/xi/xidemo

XMB.SenderInterfaceName=XMBWebServiceAdapterSenderIF

Best Regards,

Rajan Kidambi

Former Member
0 Kudos

Rajan,

We are also struggling to understand how to call a outbound interface (defined in IR) via the soap adapter. We have developed an application that will call the soap interface and enabled the adapter. Our configuration is similiar to dipesh's, except with our system information.

What url do you have to use to call the Interface using SOAP. Let's say our interface settings are as follows:

Port: 4444

Service: /myservice/ws

Namespace: BIT400

Outbound Interface: AuthenticateUser

SenderSystem: webFlightBookingSystem

ReceiverSystem: SAPDemoSystem

Also, are there any other steps you need to take to expose the interface as a web service or does the soap adapter just convert the SOAP message to plain HTTP understandable by XI?

Hope you can help.

Regards

Christiaan

Former Member
0 Kudos

Is this configuration really the one you use ?

If so, please change in Part 1 the line

XMB.TargetURL=http://<xiserverhostname>:8000/sap/xi/engine?type=entry

<xiserverhostname> should be the hostname where your XI server is running.

About

XMBWS.WSPort=4444

XMBWS.WSPath=/myservice/ws

These are arbitrary names.

This is the port/servicename your Soapadapter expects messages which will then be send to XI (XMB.TargetURL).

Former Member
0 Kudos

I've the actual hostname in the configuration file. In my soap request file I've the soap:address as "http://<xihostname>:4444/myservice/ws. With that it's throwing the error as before.