XI : How To publish WSDL generated from XI to UDDI
step 2 : log into visual adminitrator server-> services -> http provider
step 3 : 1. select Web Services Container Service->Runtime 2. choose Virtual Host Tab strip. 3. In the general properties default host select Directory list and save propertes.
step 4 : select the aliases tab strip and create an alias for the folder “wsdl” , specify the path to the folder and save
step 5: Once you have created aliases , you can access the folder on WebAs using http://server:port/wsdl address. You will be able to see all the files in the folder wsdl. You can also refer to the files in the folder directly ex. http://server:port/wsdl/Test.wsdl
step 6: Now you can use the local UDDI Client for publishing Sevice Definition(wsdl) to the UDDI Registry.
Conclusion : XI generates WSDLs that are used to generate proxies for making the webservice call. Manul notification of these wsdls to interested parties is cumbersome. In this weblog i have presented an alternative approach of publishing XI WSDLS in the local UDDI Registry. One can also use this approach for publishing the service definitions on to any public/private UDDI Registries. if you have questions on how to set up a UDDI Registry, take a look at my Step by Step guide for WebAS : A step by step guide for Configuring UDDI registry on Local Server

Thanks a lot for this weblog... this information is hard to find.
Regards,
Mathew
Glad to be helpful.
Cheers,
Naveen
I had some questions on this weblog :
1. After publishing web service defn, how do I edit the existing definition that is on the UDDI server - i.e for eg : add to the description etc... (I guess changing the wsdl contents itself is easy - i.e keep the wsdl folder contents -up-to-date ) . In the UDDI client, I don't see any edit option
2. Any option for deleting existing web service definitions ?
>>1. After publishing web service defn, how do I >>edit the existing definition that is on the >>UDDI server - i.e for eg : add to the >>description etc... (I guess changing the wsdl >>contents itself is easy - i.e keep the wsdl >>folder contents -up-to-date ) . In the UDDI >>client, I don't see any edit option
SAP UDDI server is in its early stages when compared to its peers provided by Microsoft/IBM etc. There is now way to edit webservice definition. You have to manually keep the WSDl uptodate.
>>2. Any option for deleting existing web service >>definitions ?
Currently i dont think there is a way to delete
cheers,
Naveen
>>1. After publishing web service defn, how do I >>edit the existing definition that is on the >>UDDI server - i.e for eg : add to the >>description etc... (I guess changing the wsdl >>contents itself is easy - i.e keep the wsdl >>folder contents -up-to-date ) . In the UDDI >>client, I don't see any edit option
SAP UDDI server is in its early stages when compared to its peers provided by Microsoft/IBM etc. There is now way to edit webservice definition. You have to manually keep the WSDl uptodate.
>>2. Any option for deleting existing web service >>definitions ?
Currently i dont think there is a way to delete
cheers,
Naveen
I had one more question : how does any user who consumes the webservice published by XI - acess the list of web services using the UDDI client - without having a user id ?
This user id - to browse the wsdls using uddi client - does it have to be setup as a separate "Tier " user - what previleiges/roles - would you know ?
>> I had one more question : how does any user >>who consumes the webservice published by XI - >>acess the list of web services using the UDDI >>client - without having a user id ?
to browse UDDI using the UDDI Client, you dont need any user id. Its open to any one who can get to that link.
http://server:port/uddiclient/process
Naveen
Appreciate your prompt response . This url http://server:port/uddiclient/process gives me a 404 not found...
However the url http://server:port/uddiclient is working fine - taking me to the webservice publish page..
Any setting my basis guy might have missed ? Thank you for your time .
We have published a WSDL of an outbound interface defined in XI the way it's described in your weblog. When we try to call the service using the URL given as location of the soap-adress in the wsdl, a login-screen appears. After connecting with the user XIAPPLUSER (we think, it’s the right one), we get the following message:
Message Servlet is in Status OK
Status information:
Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/aii/30_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#14 $) bound to /MessageServlet
Classname ModuleProcessor: null
Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean
Lookupname for remoteModuleProcessorLookupName: null
ModuleProcessorClass not instantiated
ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0
ModuleProcessorRemote not instantiated
So what are we doing wrong? Why do we get a login-screen? Is there an error in the configuration of the apps-server the reason for this error or are any rights missing? The published UDDI (wsdl) does not appear in the webservice navigator, so we cannot test it like a standard webservice (e.g. WcrSessWS).
greetings
Hildegard
>>So what are we doing wrong? Why do we get a >>login-screen? Is there an error in the >>configuration of the apps-server the reason for >>this error or are any rights missing?
you are not doing anything wrong. this is expected behaviour.
>>The published UDDI (wsdl) does not appear in >>the webservice navigator, so we cannot test it >>like a standard webservice (e.g. WcrSessWS).
unlike other webservice providers, SAP WAS doesnt generate the testing screen automatically for testign the webservice. Hence to test ur webservice you will have to use some other external tool like xmlspy.
cheers,
naveen
I have developed a Webservice from a WSDL file i created from a XI outbound interface following the steps u have given in ur blog.
In the UDDI Client i got the message that the WS has been successfully published but i am not able to view my Web Service in the WS Navigator.
What is the procedure to view a WS published using the UDDI client? is there any direct url to view the WS?
here is the question i posted in forum
Web service published but not visible
Thanx&Regards
Sivasakthi
I have major problems with the HTTP Provider.
When I replace a wsdl by a new one in the wsdl folder, the Change date is updated, but the content stays like it was ( I suppose it is cached and the cache is not updated )
How can I tell the HTTP Provider to update its cache?
kind regards
Martin
tricky problem. it depends on how you access the WSDL. If you access it programmatically and you have access to the http headers, you can set the pragma: no-cache directive.
if you want to access it in the browser or don't have access to the HTTP header fields you can try a workaround by adding '?2345344543' to the URL, where 2345344543 is a random number(every time), e.g. unix time (if you already have parameters in your URL, use & instead of ?).
regards,
anton
This blog is excellent .But , I am getting the Following errors
An ERROR has occurred
Invalid key passed: Unknown TModel key in reference. TModel key :uuid:c1acf26d-9672-4404-9d70-39b756e62ab4
What ever you have specified in your blog i have followed.
In your step by step guide for Configuring UDDI Registry on Local Server
step 8: After the user is authenticated, the user will be taken to a Publis Service Definition page. Here one could specify service specific properties like categories, wsdl locaton. After entering required information hit the publish button for publishing the service definition onto the UDDI Register, which in our case happens to be the one on the local server.
May i know what kind of specific properties like categories, wsdl locaton. Do i need to give give my local PC location for WSDL or what else i have to give ?
Can you please give some mor information about this Step ?
When i was trying to publish i got the following error
An ERROR has occurred
Invalid key passed: Unknown TModel key in reference. TModel key :uuid:c1acf26d-9672-4404-9d70-39b756e62ab4
>> Do i need to give give my local PC location >>for WSDL or what else i have to give ?
wsdl should be stored in a location that is accessable by the UDDI server. Usually we put it in a share folder on the UDDI server.
cheers,
Naveen
I followed the steps mentioned by you in the blog but i am getting the following error
An ERROR has occurred
Invalid key passed: Unknown TModel key in reference. TModel key :uuid:c1acf26d-9672-4404-9d70-39b756e62ab4
How to rectify the above error ?
Thank You
Regards
Prakash