cancel
Showing results for 
Search instead for 
Did you mean: 

Salesforce.com integration with SAP using SAP PI

former_member183908
Active Contributor
0 Kudos

HI Everyone,

I am working on integrating salesforce.com and SAP R/3 using SAP PI.From PI i generated WSDL file and provided to salesforce when they are consuming WSDL file in their application below is the error occoured.Please help me on this issues.Appreciate your help.

Note:There is no firewall issues between external networks and PI server.

<?xml version='1.0'?>

<!-- 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><![CDATA[

java.io.IOException: invalid content type for SOAP: APPLICATION/X-WWW-FORM-URLENCODED

at com.sap.aii.af.sdk.xi.net.MIMEInputSource.readBody(MIMEInputSource.java:414)

at com.sap.aii.af.sdk.xi.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)

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

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:162)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.MemoryStatisticFilter.process(MemoryStatisticFilter.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.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)

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:428)

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

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

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:327)

]]></text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

former_member183908
Active Contributor
0 Kudos

sorry i am unable to paste the error log......

former_member183908
Active Contributor
0 Kudos

Hi

Thanks for your suggestions.

@Geetha In my case I provided WSDL which i generated on sender agreement in ID to saleforce and they are consuming my WSDL.Interface is SOAP To PI To RFC which is synchronous

@ Raj i had given the correct WSDL and PI log in details.

Any More suggestions please

Thanks

rajasekhar_reddy14
Active Contributor
0 Kudos

Pavan,

I had done SFDC and ECC integration like your requirement , if you have provided correct WSDL URL and Service URL with PI credetials then nothing to do from you end,

have you tested you PI develop using WS Navigator or XML Spy.

Only proble we face is network compatibility , SFDC runs in different enviornment and accessing PI environment need some network compatibilty.

Request SFDC team to access WSDL URL in browser, if it ask for PI credetials and opens then problem with their coding.

which version of PI are you working on?

Regards,

Raj

former_member183908
Active Contributor
0 Kudos

Thanks for your reply Raj

I had done SFDC and ECC integration like your requirement ,

1)if you have provided correct WSDL URL and Service URL with PI credetials then nothing to do from you end,

I had given correct WSDL file with correct PI log on details.Service URL means end-point ?

2) have you tested you PI develop using WS Navigator or XML Spy.

I tested using SOAP UI and i got the response

3)Only proble we face is network compatibility , SFDC runs in different enviornment and accessing PI environment need some network compatibilty.

You are rite i also think the same network compatibility because the WSDL which i had given is working fine from external networks.Could you please let me know what are the settings you did to resolve the issue.

4) Request SFDC team to access WSDL URL in browser, if it ask for PI credetials and opens then problem with their coding.

Yes SFDC teamable to access WSDL in their browser and it is not requesting for any log on credentials.

5) which version of PI are you working on?

I am PI7.11

Thanks

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Pavan ,

i dont think it is network problem because you mentione that they are able to access WSDL in browser.

Only problem looks from their end they are not calling your end point(serivce url) correctly check your end point URL format.

check my below it talks about .net ECC integration.

Regards,

Raj

former_member183908
Active Contributor
0 Kudos

Thanks for the replies.

Issue resolve the problem is not with connectivity or fire wall issue.Framing of code from salesforce team.

Thanks

Pavan

Answers (2)

Answers (2)

rajasekhar_reddy14
Active Contributor
0 Kudos

Request them to open WSDL URL in SFDC envrionemnt, if they are able to access PI environment then problem resided in SFDC end.

Have you provided correct service URL and PI credetials to make a call to PI system?

Regards,

Raj

Former Member
0 Kudos

Pavan,

For Saleforce.com and SAP R/3 integration, generate the WSDL in Salesforce.com and import WSDL in PI (using External Definition). To generate WSDL in Salesforce.com, go to Setup -> App Setup -> Develop -> API -> click u201CGenerate Enterprise WSDLu201D and save it as .wsdl file.

Refer below link for more details:

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50a76cfa-4966-2d10-aba7-da496d9b5bcf

Regards,

Geetha