on 03-20-2012 6:43 AM
Hello everybody,
I want to create an SAP Webservice. I already created a function module. In SE80 a right click on the mouse and then Creating a Webservice. I did thes procedure, everything worked because I find my Service in the SOAManager.
But for my Webservice I need the WSDL-Document with the URL. But I cannot open it. After that I created my own Binding but this Binding i cannot activate.
Can somebody help me. I don't know what to do.
Thanks a lot, all the best,
Marcel
Hello everybody,
Thanks a lot for all your answers.
At first...my function module is easy, it's only for testing. I have two parameters which I sum and in the End there is the result. I have no tables or changigs as response.
@ Peter Jonker: I already deleted the comments (< !-OPTIONAL->).
Which scenario I use:
1. Transport Guarantee: None , Authentication: user/password (attachment 1)
SoapUI says in the Response that my authorization is denied 😕 (attachment2)
2. Transport Gurantee: asym Binding, changed nothing more.
Here I get an Error when I want to save this config. (attachment 3) It's German, in translation: STR Framework Exception. The Confi is invalid. Invalid cardinality "AuthenticationMethod". Can i solve this Error?
It's a Problem with the STR Framework, isn't it? 😕
Thanks a lot, you help me very much.
All the best from Germany, Marcel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
When I open the SOAMANAGER I have to type my username and my password of SAP, that's right, yes. The same I have to type in the Aut of soapUI.
And I have to type it when I give the soapUI tool my wsdl-link. Do I forget something?
Thanks Greg for your help!!
Edit: I found this Thread and will test it :
In fact, these are alternatives. It is enough to provide user credentials in one of the following: SOAMANAGER or SOAP UI. In the first case, choose "Keine Authentifizierung" and provide username and password below. Make sure that SOAMANAGER shows no error when you save the configuration (the error is shown on top of the window, it is easy not to notice it).
Alternatively, leave the "Benutzer-ID/Kennwort" marked and provide SAP username and password in SOAP UI.
Regards,
Greg
I added the S_SERVICE authority object to my user profile.
I'm using transport gurantee none and user/password, know I get a response but my result is zero...but my function module is working in the ecc...there I say 200 + 400 --> result = 600.
In my Webservice the result is 0.
But thanks a lot for your help, I hope I didn't nerved you. If you have an idea why the webservice gives me as response 0, I would be glad. Otherwise have a nice day
My function module is easy, if you want, take a look to the attachment.
All parameters are defined as integer.
Dear Marcel,
No problem, I'm glad to help . The fast thing: make sure to use correct numbers, that are not too big for INT variable and do not contain any decimal separator or other incorrect characters.
If this is satisfied, there is one more thing you can do: log on to backend system, go to se37 and display your function module, then choose Utilities -> Settings from the top menu. Go to ABAP Editor tab page and Debugging sub-tab page, and enter your technical user in the Users field. Confirm and place an external breakpoint (this one: ) in the code. Then test the web service again from SOAP UI, and an external debugging session will be called for you where you will be able to debug your function module to locate the source of the error. Make sure you place the break point in the same system client that is called by the web service.
Hope this helps,
Greg
Dear Greg,
I already did it. I set the breakpoint to the point where ev_result = iv_a + iv_b. I filled the two parameters with the value 1 in sopaUI. Between the request in soapUI and my breakpoint something happens because on the breakpoint both parameters have the value 0. Not the value 1 I filled in soapUI. But why?
I found another error.
In my xml-file of the wsdl-link there is the soap:adress location. When I enter this url in my browser I get there an error of STR. SRT: Wrong Content-Type and empty HTTP-Body received: ("HTTP Code 200 : OK")
I don't know what to do 😕 so difficult.
Difficult? Not at all . I have just quickly created a scenario that is identical to yours and it works fine. I think now its time to ask: did you generate the .wsdl file from your web service (after you created an endpoint in SOAMANAGER)? And is your SOAP UI request generated from this .wsdl file? Otherwise, your input parameters could disappear like you say.
Also, compare your request with the following, including namespaces:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
<soapenv:Header/>
<soapenv:Body>
<urn:YppWebsRdlpr>
<IvA>8</IvA>
<IvB>2</IvB>
</urn:YppWebsRdlpr>
</soapenv:Body>
</soapenv:Envelope>
Can you see any difference?
Regards,
Greg
I create the WSDL-file in the SOAMANAGER where I say "Open WSDL-Document for Binding".
Hm but you're right it looks different, the two parameters and my result var have different names than in my function module.
In comparison: In my fm the parameters are iv_a, iv_b and ev_result.
In soapUI the parameters are ParA, ParB and ParRes. I atteched some pictures that it's easier to follow.
Looks like that my whole web service doesn't work
I did it this way, but then there was no service so I had to create it by myself.
http://blog.mindsquare.de/tobias_harmes/2011/01/abap-webservices-mit-dem-soa-manager-anlegen/
Have a nice Day Greg!
Dear Marcel,
This step-by-step guide looks fine, this is just what I've done yesterday. I think that you did not get any service created because you did not mark "Serv. deployen" checkbox in the screen shown in 8th screenshot of this guide, counting sequentially. Anyway, it should work equally well once created manually (this is also what I've done). I consider it really strange that parameter names in your SOAP request do not match those in ECC - this should not be the case. Did you modify your function module after you generated the web service out of it? If yes, you should delete the service and generate it again, because changes are not automatically reflected. And this is what I suggest you to do now to have it working finally: delete the service definition, activate the function module (just to be sure ) and create web service again, as described in the guide. Then update the config in SOAMANAGER, generate WSDL again and import it to SOAP UI as a new project. It must be fine after that
Hope this helps,
Greg
Hello Greg,
I deleted my last Web Service and started in the beginning. I did the same like in the guide, took the transport guarantee https and user/password. in SOAMANGER. Created the wsdl and now it works Maybe I forgot to activate the Enterprise Service in SE80.
The only thing is, that i cannot check the checkbox "Serv. deployen" because I cannot see it, it's not there Do you know where I can find it? But in the end it doesn't matter I can create the service manual.
Thank you sooo much! You saved my days hehe
Thanks Grzegorz,
I activated both. Now the state is active and I get the WSDL document.
For testing my Web Service I'm using SoapUI. But the Problem is, that I get no response, don't know why. Maybe you have an idea?
When I copy my path default_host/sap/bc/srt/rfc/sap/ypp_ws_testing/100/ypp_ws_testing into my browser, it doens't work, but why??!! --> Error Invalid URL
But thanks a lot, I'm much further than the days before
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Marcel,
I've got several ideas, give them a try:
1. Do you receive any error in SOAP UI? Maybe you just need to provide username and password for authentication of the web service call?
2. Do you use TABLES or CHANGING parameters as a response? If so, you might need to add them (empty) in the request, otherwise they might not be included in the response, as far as I remember.
3. Are you sure the function module itself returns some results? Try testing the FM directly in ECC with same input data to make sure. Also remember that ECC makes some additional formatting that is not done by the web service and you have to handle it yourself (for instance: add leading zeros).
Hope this helps,
Greg
First of all apologies that I reply o the last message. With the new SCN I seem to be unable to react to messages. It requires me to log in while I am already logged in. This new SCN is TERRIBLE.
Now to your issue:
I remember that I had the same problem one time.
It was solved by deleting all the comments from the request that was generated by SOAPUI before sending it.
Hi Marcel,
I experienced same problem not long time ago. Please go to transaction SICF and activate following paths: sap/bc/soap and sap/bc/srt in the tree, as most probably they are not fully activated. You should be able to successfully generate the .wsdl file and save the binding after that.
Hope this helps,
Greg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Marcel,
1.Press apply selection to display the details of the webservice , u will get the details of service definition screen , under overview tab you get three links of the services one is for port type, one is for binding and one is for service navigator. You have to select the second one wsdl for binding .this opens the wsdl file, from the browser url uou can pick the wsdl file for the webservice.
2.Save the file in ‘.xml’ format which is the WSDL file of the webservice. From the address bar you get the link of the wsdl file. Provide these WSDL file (in .xml format) and WSDL file URL to documentum.
3.You need to also provide the end point URL of WSDL to documentum people. To get the End point URL, Go to the transaction SICF.
Enter the details
4.
Follow the below path to get your webservice.
Default_host/sap/bc/srt/rfc/sap/ztestweb/100/ztestweb
Select your webservice, right click on your webservice and select Test Service.
5.From the address bar you get the link of the wsdl file end point URL. That is the wsdl file end point URL, which you need to provide to Documentum.
I hope this will help you
Regards
Kalyan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey Kalyan,
in the first step there is my problem. Take a look at my picture, I didn't get the xml-file. I get the error, that the binding ist not active, but how can i change it 😕
My first Problem was, that there was no service in the overview so that i created my own binding but this one not active and I don't get an xml-file.
Hmm...I have an idea, maybe it's a problem with the authorities in the development-system, I'll check it.
SOAManager it self you can find wsdl url genarated by default, may be you are chekcing wrong place.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
24 | |
11 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.