Skip to Content
author's profile photo Former Member
Former Member

Integrating with an external system problem

Hello!

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:

~request_uri MY_HOST_NAME/MY_WSDL_FILE.WSDL

~request_method POST

~server_protocol HTTP/1.1

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

~server_protocol: HTTP/1.1

~status_code: 500

~status_reason: Business Server Page Error

content-type: text/plain; charset=utf-8

content-length: 319

server: SAP Web Application Server (1.0;620)

~remote_addr:

~uri_scheme_expanded: NONE

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?

Please help!

Thanks in advance,

Dima

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • Posted on Oct 12, 2006 at 03:58 PM

    Hi Dima ,

    First of all , lets check if the webservice that you are trying to use takes in which parameters and may be some of them are mandatory to pass. Use some tools like Altova XML spy to test the webservice first.

    Are you on MySAPERP? If yes, then to consume webservice in ABAP is fairly easy. You can go to SE80 ..find enterprise services tab and all the steps are mentioned therein.

    Generally Error 500 occur due to following:

    1. Probably there are some mandatory parameters which needs to be send.

    2. The server is too busy to respond to the query.

    Also,

    As per my experience of sending the XML data, sometimes, the HTML header gets appended to the main body. You need to test this in debug mode , if this is happening. The XML must be transmitted without the header ..

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Oct 13, 2006 at 11:28 AM

    Hi Disha,

    Your advice wasn't helpful because I have SAP Basis version of 620 where there are no client proxies in SE80 (at least I wasn't able to find one via menus), but thanks anyway.

    I've activated the 'default_host' node in transaction SICF, and I still get error 500. I've been told that no additional parameters are need to be sent.

    What should I do?

    Regards,

    Dima

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Dima,

      Is it possible for you to provide me the link for webservice which you are trying to use?

      Also, if possible, please post your program which you have written to consume the webservice.

      You are right ..Client Proxies are not available in 6.2..they are available in 6.4 WAS - as Enterprise Services.

      Not too sure, but I hope you have provided the Background user / password ..

      Since you are getting 500 error message, then I guess the system is able to communicate over the internet..

      Regards,

      Disha

  • author's profile photo Former Member
    Former Member
    Posted on Oct 16, 2006 at 03:19 AM

    Hi Disha,

    I've solved this problem on my own.

    Thank you.

    Regards,

    Dima

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Oct 16, 2006 at 04:04 AM

    Hi Disha,

    I'll tell the solution you when I get everything working.

    Best Regards,

    Dima

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Oct 18, 2006 at 03:22 AM

    Hi Disha,

    The problem was that server didn't support DNS. That is, if you type in IP address as a host name, you'll get connected without any problems.

    But I believe there are more problems to rise...

    Regards, Dima

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.