I am writing a program for a local railways company. The task is to transmit data from SAP tables as a XML data to an external system which evaluates tariffs and receive a XML document back (with all those tariffs evaluated). I cannot use both XI and J2EE, I need to write it on ABAP.
The external system provides a webservice. I've got an URL to WSDL file. When I try to get it, I receive error 500. The header of a HTTP request looks like this:
As you can see, the message-body is empty. I don't know should it be filled with something or not. I also don't know if method CL_HTTP_CLIENT->SEND appends any extra fields to HTTP header of request prior to sending.
Then I call CL_HTTP_CLIENT->RECEIVE to get response. It looks like this:
~response_line: HTTP/1.1 500 Business Server Page Error
~status_reason: Business Server Page Error
content-type: text/plain; charset=utf-8
server: SAP Web Application Server (1.0;620)
Business Server Page (BSP) Error##URL%d0%bd%d0%b5%d1%81%d0%be%d0%b4%d0%b5%d1%80%d0%b6%d0%b8%d1%82%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d0%b3%d0%be%d1%83%d0%ba%d0%b0%d0%b7%d0%b0%d0%bd%d0%b8%d1%8f%d0%b4%d0%be%d0%bc%d0%b5%d0%bd%d0%b0(MY_HOST_NAME%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%beMY_HOST_NAME%2e%3cdomain%3e%2e%3cext%3e)%2e
Response message body contains URL-encoded string. My attempts at decoding it weren't successful.
I use class CL_HTTP_CLIENT to send request and listen for response.
The question is, why do I get error 500? Should I fill request body with something?
Thanks in advance,