Skip to Content

When ever we work with SOAP sender interfaces, to test interface end  to end we require SOAP UI or some other tools, if you have a tool in same network then it is fine else then quite difficult to get install it in client landscape(as per my exp).

 

This blog will cover how to publish services in Service Registry and testing using WS Navigator, next series of blogs will cover .Net,Biz Talk and SFDC integration.

  

How to publish  service in SR:

 After creating /developing all objects in PI (SLD, ESR and ID), publish your sender agreement in  Service Registry, right click on sender agreement and select Publish SR.

image

 

Before publishing service Interface, make sure that Service Registry configured perfectly, and then only you can publish the service.

 

Refer below link about Service Registry configuration

 http://help.sap.com/saphelp_nwce10/helpdata/en/45/c1ea61a1194432e10000000a155369/content.htm

Endpoints will be published like below.

 

image

 

 Then Login in to Service Registry, search for you service by entering your sender agreement name.

image

 

Select your sender agreement, WSDL  URL and endpoints will be generated.

 

image

Testing interface :

 

Select Endpoints, you will see HTTP and HTTP’s URL .

 

image 

 

Select Test tab, it will open WS Navigator in new window and asks for  PI user name and password.

 

image

Select Next,enter valid test data after that select Next you will see the result, if it is synchronous interface .

 image

To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

  1. Samiullah Qureshi
    Hello Raja,

    Thanks for the such a nice and informative blog.

    However, I have one query. We are publishing the PI interface webservice, but in practice still, we have to provide the WSDL of the interface to external system. Then, what is the use of publishing it to Service Registry.

    Could you please put some light on it?

    Regards,
    Sami.

    (0) 
    1. Raja Sekhar Reddy Post author
      Well,
        Suppose you have added couple of fieds in Structure, hence you have to genarate wsdl one more time and have to share with sender system people,this is the normal process.

      But if you publish the service in service registry,it will genarate WSDL URL,just you will share this URL with Sender system people,even if you have done any changes in  data type structure WSDL URL going to be the same,Sender system people just have to refresh the their environment,it is very easy.

      No need to send new straucture manualy via email.

      Regards,
      Raj

      (0) 
      1. Arun Kiran Vemula

        Hi Raja,

        I’m unable to open web services navigator from startPage on SAP NW 7.31, can some help me please.

        I given url http://host:port/startPage then after click on Web services navigator to open, but getting below error.

        ++++++++++++++++++++++++++++++++++++++++++++++++++++++

        cannot process an HTTP request to servlet [forwardServlet] in [webdynpro/dispatcher] web application.

        [EXCEPTION]

        com.sap.engine.services.servlets_jsp.server.exceptions.WebServletException: Error occurred in dispatching request to servlet [/WSNavigator].

        at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:404)

        at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:499)

        at com.sap.tc.webdynpro.serverimpl.wdc.ForwardServlet.doPost(ForwardServlet.java:73)

        at com.sap.tc.webdynpro.serverimpl.wdc.ForwardServlet.doGet(ForwardServlet.java:33)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

        at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)

        at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)

        at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:466)

        at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)

        at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)

        at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)

        at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)

        at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

        at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

        at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)

        at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)

        at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)

        at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

        at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

        at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)

        at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)

        at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)

        at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

        at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

        at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)

        Caused by: com.sap.tc.webdynpro.services.sal.core.DispatcherException: Deployable object sap.com/tc~esi~esp~wsnav~ui containing the requested application com.sap.esi.esp.wsnavigator.app.WSNavigator is disabled on the server. Use the administration tool to enable the application.

        at com.sap.tc.webdynpro.clientserver.session.RequestManager.initApplicationDeployableObjectPart(RequestManager.java:723)

        at com.sap.tc.webdynpro.clientserver.session.RequestManager.initTask(RequestManager.java:652)

        at com.sap.tc.webdynpro.clientserver.session.RequestManager.doInitWdEnvironment(RequestManager.java:173)

        at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:285)

        at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)

        at com.sap.tc.webdynpro.serverimpl.wdc.DispatcherServlet.doContent(DispatcherServlet.java:101)

        at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doGet(AbstractDispatcherServlet.java:55)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

        at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)

        at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:373)

        … 41 more

        ++++++++++++++++++++++++++++++++++++++++++++

        Thanks & Regards

        Arun KV

        (0) 
  2. Ashutosh Upadhyay

    I used links with below structures.

    Two links we can use if we are using some external tool to test Web Service like SOAP UI.

    First the generated one form ID other as per the SOAP channel configuration help page on SCN.

    http://<PI HOST name>:<PORT>/sap/xi/engine?type=entry&version=3.0&Sender.Service=<Sender Service Name>&Interface=<Namespace>^<Interface Name>&QualityOfService=<Quality of Service>

    With default suggested post as ‘8000’ in above link it will skip the sender channel and reach to integration engine.

    So if you want to use channel then use below link

    http://<PI HOST name>:<PORT as what comes in IFR page>/XISOAPAdapter/MessageServlet?channel=<Party>:<Service Name>:<Channel Name>

    (0) 
  3. Piyas Kumar Das

    Hi Raj,

    Great Blog, very useful, well explained.

    Do you have any blog on how to configure the service registry & UDDI (I am on CE7.31 SP07 single stack)

    Cheers

    Piyas

    (0) 
  4. Arun Kiran Vemula

    Hi All,

    I’m unable to open web services navigator from startPage, can some help me please.

    I given url http://host:port/startPage then after click on Web services navigator to open, but getting below error.

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++

    cannot process an HTTP request to servlet [forwardServlet] in [webdynpro/dispatcher] web application.

    [EXCEPTION]

    com.sap.engine.services.servlets_jsp.server.exceptions.WebServletException: Error occurred in dispatching request to servlet [/WSNavigator].

    at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:404)

    at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:499)

    at com.sap.tc.webdynpro.serverimpl.wdc.ForwardServlet.doPost(ForwardServlet.java:73)

    at com.sap.tc.webdynpro.serverimpl.wdc.ForwardServlet.doGet(ForwardServlet.java:33)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)

    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:466)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)

    at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)

    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)

    at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)

    at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)

    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)

    Caused by: com.sap.tc.webdynpro.services.sal.core.DispatcherException: Deployable object sap.com/tc~esi~esp~wsnav~ui containing the requested application com.sap.esi.esp.wsnavigator.app.WSNavigator is disabled on the server. Use the administration tool to enable the application.

    at com.sap.tc.webdynpro.clientserver.session.RequestManager.initApplicationDeployableObjectPart(RequestManager.java:723)

    at com.sap.tc.webdynpro.clientserver.session.RequestManager.initTask(RequestManager.java:652)

    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doInitWdEnvironment(RequestManager.java:173)

    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:285)

    at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)

    at com.sap.tc.webdynpro.serverimpl.wdc.DispatcherServlet.doContent(DispatcherServlet.java:101)

    at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doGet(AbstractDispatcherServlet.java:55)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)

    at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:373)

    … 41 more

    ++++++++++++++++++++++++++++++++++++++++++++

    Thanks & Regards

    Arun KV

    (0) 

Leave a Reply