on 03-17-2006 9:07 AM
Hi All
I am working on a Web service scenario.
I created a RFC function module and converted the same to Webservice.
But while creating communication channels in need to pass the target URL.
Please let me know, how to find the URL address.
Is it the URL address of Webservice, we need to pass there
Pls advise
Regards
Madhan Doraikannan
Hi Madhan,
The Info below should surely help you find an answer.
If you're on WAS 6.20 and up, you can expose an RFC as a webservice directly from WAS.
Or if youre on Basis layer 4.6D, you'll need to use XI (or some other integration tool) to expose the RFC as a webservice.
To do this in XI you'll need to:
Integration Repository
1) Import the RFC
2) Define a message and datatype for the SOAP interface
3) Create inbound and outbound interfaces
4) Create maps between the RFC and SOAP messages
5) Create an interface map
Integration Directory
1) Create an RFC Receiver Channel
2) Create a SOAP Sender Channel
3) Generate the WSDL (Tools->Define Web Service)
You can then handoff the WSDL and a login username and password to your developer and they will have everything they need to make the WS call.
Here are answers to a few doubts u might have:
1) Do I need to actually create a WS that calls the RFC ? Isnt the virtual interface exposed by the XI sufficient?
Yes, you need to create a WS in XI that calls the RFC.
2) If I really have to create the WS and deploy it in order to expose it with the XI, then what is my benefit of exposing it with the XI, why not just exposing it as a normal WS ?
You don't have WAS 6.20 or up. Even if you did, you may still want to expose it using XI in order to have all of your integration go through the same application.
3) If I expose my web service through the XI, how does the client application executes one of its methods? To which url does it have to access (the XI or the actual WS)?
You expose a SOAP interface in XI by generating a WSDL file. This file contains all of the information a developer will need to call the webservice including the URL.
You actually specify the URL when you generate the WSDL. Be sure to read the documentation to get the correct format because the URL that the wizard suggests isn't correct.
I hope I have answered your query.
Regards,
Abhy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Puloma
Thanks for your reply.
But if i pass the URL location i am getting the following error message
Can you please advise.
Regards
Madhan Doraikannan
******************
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PARSING">ADAPTER.SOAP_EXCEPTION</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>soap fault: SOAP processing failure, error id = 1001</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Madhan,
The message being sent by XI is not recognizable by the web-service.
I hope that you are givng the URL of a Default/ Document type of wsdl, not a RPC/Encoded one.
Also,I'd suggest that you go through the following weblog to check the steps you are following:
/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
Take a look at the following two threads too:
You can download the SOAP client from sdn itself.
Regards,
Puloma.
Hi Madhan,
Yes, you are right.You should pass the location of the .wsdl file as the URL.
Regards,
Puloma.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.