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

SAOP: AXIS returns "Operation not supported". ABAP ommits the operation

Hello Experts,

I try to call a Web Service based on an AXIS 1.4 Servlet running on Apache.

This call is sent from an ABAP Proxy I generated within my WebAS ABAP 700, in the Object Navigator (SE80).

I have written my own small test program to fill the input of my structures and to call a WebService using a Proxy..

When I sent a SAOP Request I receive the following error from my Apache Server:

'Operation not supported: "PersonData"'.

I tried to send the SOAP Request from another NON-SAP-Client and it works.

the difference between the succesful request and my faulty request is the following:

Here is the (simplified) succesful request:

http://schemas.xmlsoap.org/soap/envelope/">

<soap-env:Header>...</soap-env:Header>

<soap-env:Body>

<createPerson>

<PersonData xmlns:nr1="http://localhost">

<birthCity>Bad Hausen</birthCity>

<birthCountry></birthCountry>

<birthDate>21.06.1951</birthDate>

...

</nr1:PersonData>

</createPerson>

</soap-env:Body>

</soap-env:Envelope>

BUT, the request from WebAS ABAP looks different:

http://schemas.xmlsoap.org/soap/envelope/">

<soap-env:Header>...</soap-env:Header>

<soap-env:Body>

<PersonData xmlns:nr1="http://localhost">

<birthCity>Bad Hausen</birthCity>

<birthCountry></birthCountry>

<birthDate>21.06.1951</birthDate>

...

</nr1:PersonData>

</soap-env:Body>

</soap-env:Envelope>

The Element <createPerson> is missing in the request coming from my ABAP. This element is the operation and the soapAction defined in my WSDL.

One can find it in the WSDL in the binding:

<wsdl:binding name="PersonDataSoapBinding" type="impl:someImplementationEndpoint">

http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="createPerson">

<wsdlsoap:operation soapAction="createPerson"/>

<wsdl:input name="createPersonRequest">

http://schemas.xmlsoap.org/soap/encoding/" namespace="http://myNS"/>

</wsdl:input>

<wsdl:output name="createPersonResponse">

http://schemas.xmlsoap.org/soap/encoding/" namespace="https://myNS"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

My guess is that ABAP does not support multiple operations within one WSDL. Right or not? Anyway, I do have only one. I am not sure.

And therefore my Proxy ommitts the operation-element completely. But is this an option not to send the operation?

My AXIS-Server assumes the first elemnt after the body as the operation, but ABAP sends the name of the structure there and ommits the operation. So the response is right so far, it is not correct NOT TO SEND the operation, or is it?

In fact my AXIS does not understand this request. It takes the first element after the body as the operation,

but my ABAP-Prxy sends the paylod structure there.

I do define the operation by calling the method within my ABAP-Proxy.

-


ABAP----


TRY.

CREATE OBJECT person_proxy

EXPORTING

logical_port_name = 'LP01'.

ENDTRY.

TRY.

CALL METHOD person_proxy->create_person

EXPORTING

create_person_request = input

IMPORTING

create_person_response = output.

-


ABAP----


Is there an additional place to set the operation?

Can anybody help me, any ideas?

Kindest regards Joerg Hopmann

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • Posted on Jun 18, 2008 at 12:38 PM

    <wsdl:binding name="PersonDataSoapBinding" type="impl:someImplementationEndpoint">

    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

    The WSDL is rpc style, so you have to set the mode to rpc style in your external definition object, where you upload the WSDL.

    Regards

    Stefan

    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.