Hi,
Is the MDM_Destination set correctly to the values passed, are u able to ping successfullly from where it is configured.
Test the Web Service by providing Providing the Criteria inputs also, in addition to configuration details
Hi,
Is the MDM_Destination set correctly to the values passed, are u able to ping successfullly from where it is configured.
Test the Web Service by providing Providing the Criteria inputs also, in addition to configuration details
Unfortunately, it's not my area of experience, I just googled your error, so I strongly advise to search through the Web as far as there were many links that I've not included in reply.
Hello
I have encountered a problem when I test my external consumer web service from Se80 by pressing f8 it gives me error of Sap fault code3 soap header To was not understood , then I Went to soamanager tcode and see the log and traces it gives me different error which are attached given below.
Here is my Xml test ws consume dispaly request
<n0:pass>us0001</n0:pass>
<n0:fromdate>31.12.2010</n0:fromdate>
<n0:todate>31.12.2011</n0:todate>
</n0:GetData>
In return it gives Sap fault code3 soap header To was not understood.
And here is attached log traces of soamanager :
logs and tracing from soamanager please help me
Hi Ravi. MDM_Destination is correct the test is sucessfull. on URL http://<host>:<port>/mdm/destinations , about the criteria parameters I check with parameter Vendor Number and the result is the same . NosuchMethod.
thanks for your value support. any other Idea. ?
Hi Experts,
I have a file which contains 100 rows of Service Order data.In each row, I have service order no. and post code.
Now I have to call a webservice ( WSDL and URL will be provided by 3rd Party)for each of these service order records passing order no. and post code to the web service and store the response in a z-table.
Can I achieve this by creating an ABAP program ?I will schedule the program as a background batch job.
Next , I need to create a second ABAP program which will take the value stored in z-table and update the service order. This program will also be scheduled as a background batch job and run after the completion of first program.
Therefore, my question is how to call webservice from inside ABAP program?
Any step by step document will be of great help.
Thanks
Ayan
You can call a webservice by using class CL_HTTP_CLIENT
Regards,
Ulrich
Hi Ulrich,
Can you please elaborate a little bit?
A bit more pointers will be helpful.
Thanks
Ayan
Hi Ayan ,
You can follow these steps:
1. Open the package in SE80
2. Right Click on package & Create Enterprise service.
3. Select the radio button 'Service Consumer' & continue
4. Select the radio button External WSDL where you will specify the url of the external web service i.e. WSDL url given by third party.
5.Save in package & it will create a class along with the ddic structure.
6. Now Activate the code.
7. go to tcode 'SOAMANAGER' & specify the logical port.
8. in SE37 create new program for consuming the external webservice.
Note : Steps may vary according to your version.
Thanks & Regards -
Vishal
Hi Ayan, I've just found my sample program which I created some years ago (converting measures with www.webservicex.net):
REPORT z_re_call_webservice.
PARAMETERS: p_source(50)TYPE c DEFAULT'Meters' LOWER CASE,
p_dest(50)TYPE c DEFAULT'Yards' LOWER CASE,
p_value(50)TYPE c DEFAULT'50',
p_uname(50) TYPE c " Username Proxy
p_pw(50)TYPE c LOWER CASE. " Password Proxy
DATA: gv_uname_proxy TYPE string,
gv_pw_proxy TYPE string,
gv_subrc TYPE sy-subrc,
gv_errortext TYPE string.
DATA: http_client TYPEREFTO if_http_client .
DATA: w_string TYPE string , " Input
w_result TYPE string , " Output
r_str TYPE string .
DATA: result_tab TYPETABLEOF string.
DATA : html_content TYPE w3htmltabtype,
generated_url TYPE char1024,
html_line TYPE w3html.
START-OF-SELECTION.
* Passing parameters with HTTP GET (Is SOAP also possible???)
CONCATENATE
'http://www.webservicex.net/length.asmx'
'/ChangeLengthUnit?LengthValue=' p_value
'&fromLengthUnit=' p_source
'&toLengthUnit=' p_dest
INTO w_string.
* Create HTTP-Client-Objekt
CALLMETHOD cl_http_client=>create_by_url
EXPORTING
proxy_host = '00.000.0.000'
proxy_service = '8080'
url = w_string
IMPORTING
client = http_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <>0.
MESSAGE'Error creating client'TYPE'E'.
ENDIF.
* Proxy login
gv_uname_proxy = p_uname.
gv_pw_proxy = p_pw.
CALLMETHOD http_client->authenticate
EXPORTING
proxy_authentication = 'X'
username = gv_uname_proxy
password = gv_pw_proxy.
* Send
CALLMETHOD http_client->send
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2.
IF sy-subrc <>0.
CALLMETHOD http_client->get_last_error(
IMPORTING
code = gv_subrc
MESSAGE = gv_errortext ).
WRITE: / 'communication_error( send )',
/ 'code: ', gv_subrc,'message: ', gv_errortext.
EXIT.
ENDIF.
* Receive Result
CALLMETHOD http_client->receive
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3.
IF sy-subrc <>0.
CALLMETHOD http_client->get_last_error(
IMPORTING
code = gv_subrc
MESSAGE = gv_errortext ).
WRITE: / 'communication_error( receive )',
/ 'code: ', gv_subrc,'message: ', gv_errortext.
EXIT.
ENDIF.
CLEAR w_result .
* Result to string
w_result = http_client->response->get_cdata().
* Disconnect
CALLMETHOD http_client->close
EXCEPTIONS
http_invalid_state = 1
OTHERS = 2.
Moved to SOA.
The process is well documented. When I had this requirement I managed to quite easily figure out what I needed to do by doing the appropriate searches in SCN.
The absolutely most straightforward way is what Vishal Hingole has said. Anything is unnecessarily complicated.
Hi All, The issue was with the data that is being passed to lv_string using concatenation. These are case sensitive. Replaced SessionID in concatenate statement with sessionId and my issue is resolved.
Apparently SAP does not accept the WSDL file so I have to edit it somehow to remove to security and other stuff SAP does not recognize.
Hi there,
We are deploying a webservices inbound SAP ECC (Abap Webservices) following the procedure described at below:
After these steps we are able to load the WSDL into SAP PI and into SOAP UI (for unit test).
The point is: if we execute this webservices through:
We don’t know what is required to make this webservice working. Tried everything.
Please, any feedback about?
Regards,
Sérgio Salomão
Send a printscreen of your soamanager configuration.
Hello everybody,
I have an interface Navision - SAP through a web service. The Web service has an URL attached. This URL is accesibile with Citrix, using the internet explorer from Intranet. It requires a user and password and it works ok from the citrix browser.
The SAP system is also on Citrix. I try to consume the web service in SAP. I enter the url entered in the browser, then it requests me for the user and the password. I enter exactly the same data I entered in the browser but it returns the error from the title. I tried domain/user like in the browser, simply user or anything else. The error from the title is returned.
SE53 does not give any failed authorization. Some basis guy mentioned the requirement for a certificate in STRUST, but I dont know if that is the solution and if it is, how to do it.
Can you help me?
Thanks,
Razvan
Hello Efren,
Have you done the required configuration to consume a webservice from an external interface?
Have a look at the attached document:
Regards,
Siddhesh
Hi Siddhesh,
I checked proxy configuration for HTTP client and it was empty. I tried to fill it in various ways, but it did not work.
I ticked global settings proxy setting is active. For the Authorization I tried to fill CHECK or PROXY. I dont know what I should fill here.
In HTTP log, I tried to fill host name and port from ICM_DATA. They are returned by /SDF/GET_ICM_VIRT_HOST_DATA function.
For HTTP log I filled my SAP user and password.
I combined in many ways what I wrote above. Do you know what I did wrong?
Thanks,
Razvan
Further things I have noticed:
- For http log I used before the host and port from sap; probably that was wrong, I changed now to the port and host from the system taken from a site which returns host in port (from internet explorer from intranet); also I used the user and password for connecting to citrix in the http log.
Still nothing works.
- If I tick proxy setting is active, the error returned is 404 error in http framework; If I leave it unticked or place * in the no proxy for the following addresses, I receive 401 unauthorized.
- So 404 if I try to connect using proxy and 401 if I try to connect without proxy.
- Using Lagado website, I tried to check in the internet explorer from citrix and it seems I am not using a proxy
- So I dont know if really the proxy settings are the issue, but that authorization issue is confusing (it is not SU53 related); also I cant debug because the problem is at a kernel statement which can not be debugged.
Razvan