cancel
Showing results for 
Search instead for 
Did you mean: 

Starting web service throws exception, Web Dynpro ABAP, for experts

Former Member
0 Kudos

Hi,

i have create a web service (from a FM), a proxy object (transactions: wsconfig, wsadmin) and a logical port (transaction: lpconfig).

If i run the application an exception is thrown and the showText-Method says

SOAP Error 4: Operation not supported

I can't find anything about this error.

Regards

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hallo,

thanks.

My code:

  • Client Proxy

DATA: service TYPE REF TO zpc_co_reset_user_password .

data: lo_sys_exception type ref to cx_ai_system_fault ,

err_string type string.

TRY.

CREATE OBJECT service

exporting

logical_port_name = 'DEFAULT'.

CATCH cx_ai_system_fault .

ENDTRY.

DATA: user TYPE zpc_reset_user_passwordinput .

DATA: out TYPE zpc_reset_user_passwordoutput .

TRY.

user-bname = sy-uname.

CALL METHOD service->zbc_reset_user_password

EXPORTING

input = user

IMPORTING

output = out.

message = out-message.

catch cx_ai_system_fault into lo_sys_exception.

err_string = lo_sys_exception->get_text( ).

CATCH cx_ai_application_fault.

ENDTRY.

In the WSDL-File

- <wsdl:portType name="ZWS_RESET_SAP_PASSWD">

- <wsdl:operation name="ZbcResetUserPassword">

<wsdl:input message="tns:ZbcResetUserPassword" />

<wsdl:output message="tns:ZbcResetUserPasswordResponse" />

</wsdl:operation>

</wsdl:portType>

How should i call the operation?

I create the object for the proxy and then i call the proxy method zbc_reset_user_data.

What's wrong?

Regards

Former Member
0 Kudos

hi wolfgang,

I think you're trying to call an operation that is ... well, not supported. Operation is something like the remote method you call.

In your WSDL you'll find something like(taken from some WSDL)

  
<wsdl:portType name="DummyServerPortType">
    <wsdl:operation name="ZTWSyncOrderUp">
      <wsdl:input message="tns:ZTWSyncOrderUpRequest"/>
      <wsdl:output message="tns:ZTWSyncOrderUpResponse"/>
    </wsdl:operation>
    <wsdl:operation name="ZTWSyncOrdersDown">
    ....
    </wsdl:operation>
    ....
<wsdl:portType>

The operation name (even in case you have one operation only) does not necessarily have to have the same name as the service itself.

So, most often this error occurs when one tries to invoke the service(name) instead of the soap operation, or one has some spelling error (capiTAlizaTIOn)

Hope it helps,

anton