Creating a Service Consumer Proxy
In this part, we’ll see the process to create Proxy consumer service.
Previously, we have seen how to create an ABAP based web service
First, we have to start the wizard to create a new service using trx. SE80. Right click and then Create->Enterprise Service.
This time, in Object Type field we choose Service Consumer:
For the Service Consumer source, we can choose amongst Enterprise Service Repository, URL or the path of WSDL a local file, UDDI, and the Service Registry.
Please select URL/HTTP Destination.
Fill with the URL of the WSDL previously created.
Before continue, we enter to SOAMANAGER transaction code and choose: Application and Scenario Communication ->Single Service Administration.
Search the Service previously created and choose “Apply Selection”. Now we can see the Service Definition details.
You have to click on the “Open Web Service navigator for Selected Binding” link. The combo button shows the Endpoint defined for the Service. It’ll pop up the WSDL where we have to take the URL to create the proxy.
Use the URL in the wizard:
Fullfil the necesary data in the wizard.
In final step, you can click on “Complete” to start the creation of the Proxy object.
Enter your login data:
The proxy class is shown. Click on “Save and Activate”.
Go back to the SOAMANAGER trx. to configurate a logical port for our service provider.
Logical ports are made to configurate the time features of a WS execution. We can create a logical port from LPCONFIG (obsolete) or SOAMANAGER as we are showing next.
A consumer proxy never stores details about a server URL (which is system specific). These details have to be configured through logical ports and EndPoints.
For example: when we transport a proxy class from a Development system to QA system. The proxy class doesn’t contain any information about which server the WS has to be called, this is handled by a logical port-.
Go back to the SOAMANAGER trx. This time, when you search in “Web Service Administration” choose “Consumer Proxy”. Don’t forget to click on “Apply Selection”a after highlighting the proxy.
In the Configuration tab, select “Create Logical Port”.
In the pop-up shown, you have to fill several parameters. First, give a name for the logical port and set it as the default logical port.
Next we have to select “Config. Type” based on WSDL.
The application reads all the security parameters needed to call this service directly from WSDL definition.
Finally, we have to fill the WSDL URL for the called Web Services. Also, you have to give the system user name and password to access the WSDL
If the creation was success, the system will take us back to the Config. Screen, where we can continue with the logical port configuration. Once more, introduce the user name and password (they are going to be used as a credentials to call this service and to save the logical port).
The next and final section is: Testing a Service Consumer Proxy:
http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/10/25/testing-a-service-consumer-proxy
Good Job Juan Manuel, this is a summary of what I have been looking for in some weeks 🙂 .
By the way it can be created a logical port also by using a HTTP destination, in case of the Web service to consume is external, for this I know we have to create a destination in SM59 type G (External). So I have a question, in our system there are a lot of connections type G, but I see that all of them has "Automatic Web Service Configuration" as their description. How this connections were generated? I took a look in some of the proxies, but I can't see where this connections are used.
Good job,
Pedro.
Hello Pedro,
Did you get any solution for your above mentioned issue , as i am facing the same.
Thanks Juan for Sharing..Intresting stuff.. 🙂
Dear Juan Manuel ,
Did you have any idea, How to Consume .Net(Non-Sap) Web service through this method?
I'm following the Below Steps,
Se80 > Edit Object > Client Proxy > Create > URL/HTTP CheckBox > URL: http://ip-address:Port#/Service1.asmx?WSDL > Package-Name + Prefix + Request# > Complete .
While Click on complete button it gives an Exception which is mentioned below,
Not implemented
Exception of class CX_SIDL_INTERNAL_ERROR
Please give me proper solution, How to resolve this exception?
Regards,
Muhammad Taha
Hi Muhammad,
Have you implemented the proxy? This error also occurs when you send the wrong structured datd, through SPROXY testing.
Regards,
Nitin
Unless you are asking for clarification/correction of some part of the Document, please create a new Discussion marked as a Question. The Comments section of a Blog (or Document) is not the right vehicle for asking questions as the results are not easily searchable. Once your issue is solved, a Discussion with the solution (and marked with Correct Answer) makes the results visible to others experiencing a similar problem. If a blog or document is related, put in a link. Read the Getting Started documents (link at the top right) including the Rules of Engagement.
NOTE: Getting the link is easy enough for both the author and Blog. Simply MouseOver the item, Right Click, and select Copy Shortcut. Paste it into your Discussion. You can also click on the url after pasting. Click on the A to expand the options and select T (on the right) to Auto-Title the url.
Thanks, Mike (Moderator)
SAP Technology RIG
Hello Muhammad,
Have you resolved your issue?
regards,
Tomas
Hi expert.
When I create a consumer service proxy, it fails, and show the following error.
Error:
Library-Handler
error type CX_SY_REF_IS_INITIAL.
Sorry for the inconvenience, I have the same problem, if you solved it and how?