cancel
Showing results for 
Search instead for 
Did you mean: 

How to consume a TIBCO web-service in SAP PI

Former Member
0 Kudos

Dear All,

I have a scenario to consume a webservice provided by TIBCO.

A end to end scenario is configured in TIBCO (ws-TIBCO-ws). The WSDL file ganerated from TIBCO system is provided to me to consume in SAP PI.

TIBCO generated WSDL will be in a format (Type, Service, Binding, Port, Message). For SAP system to consume a webservice, WSDL format should be (Type, Message, Binding, Port, Service). So i changed the format and imported into External Definitions in ESR and configured the SYNCHRONOUS end-to-end scenario(saop-PI-soap) in SAP PI. I have generated a wsdl from sender agreement and tested it using SOUP UI.

In SOAP UI response it throws following error.

<!--see the documentation-->

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

   <SOAP:Body>

      <SOAP:Fault>

         <faultcode>SOAP:Server</faultcode>

         <faultstring>Server Error</faultstring>

         <detail>

            <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">

               <context>XIAdapter</context>

               <code>ADAPTER.JAVA_EXCEPTION</code>

               <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIAdapterFramework:GENERAL:com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: Response message contains an errorXIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server did not recognize the value of HTTP Header SOAPAction: .

  at com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:746)

  at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:505)

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

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

  at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)

  at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)

  at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)

  at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)

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

  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.ResponseLogWriter.process(ResponseLogWriter.java:60)

  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)</text>

            </s:SystemError>

         </detail>

      </SOAP:Fault>

   </SOAP:Body>

</SOAP:Envelope>

Also let me know whether we can consume a TIBCO generated WSDL in SAP PI or not (because first we will hit TIBCO endpoint url which in turn internally hits the target system url from TIBCO )

If this is possible, Please provide your valuable inputs

Regards

Koti Reddy

Accepted Solutions (0)

Answers (2)

Answers (2)

rhviana
Active Contributor
0 Kudos

Koti hi,

So if TIBICO will triggered info first, you must generate WSDL for system and TIBICO receiver, tibico team must provide wsdl for you.

The error look like error to generate wsdl file, could you check if the wsdl is generate via java por (5$$00 or http - 80$$) check into SMICM what port is avaliable to enter msg into ICM.

Check this link also :

Generating Web Service From PI - Contributor Corner - SCN Wiki

Kind regards,

Ricardo Viana.

0 Kudos

Hi Koti,

It looks like the SOAP Action value is missing.

'Server did not recognize the value of HTTP Header SOAPAction'


Please check that one and please post the generated WSDL if you still get the error.


Regards,

Karthik

Former Member
0 Kudos

Hello Karthik,

Thanks for your reply. I have entered SOP action parameter in receiver SOAP CC.

So to get a clear picture for me

First i have consumed one WSDL which has many operations. I faced the same problem.

Later i have consumed other/different WSDL and configured one more scenario which has only one operation. Facing the same error just like the earlier one.

Still looking for more inputs.

Regards

Koti Reddy

0 Kudos

Hi Koti,

Please attach the WSDL. Lets see

Regards,

Karthik

former_member184720
Active Contributor
0 Kudos

Hi Koti - The soap action is case sensitive.

What is the soap version of the wsdl?

If you try to make a request to a SOAP 1.2 webservice with a SOAP 1.1 request then you may get this error too..

to check the your webservice soap version - open the wsdl and check for the namespace

SOAP 1.1 uses namespace http://schemas.xmlsoap.org/wsdl/soap/

SOAP 1.2 uses namespace http://schemas.xmlsoap.org/wsdl/soap12/

source - http://forum.spring.io/forum/spring-projects/web-services/45083-server-did-not-recognize-the-value-o...

please share the wsdl as that may help in providing you more information.